




已阅读5页,还剩231页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 3章 MCS-51单片机指令系统和汇编语言程序示例第 3章 MCS-51单片机指令系统和汇编语言程序示例3.1 MCS-51单片机指令系统概述3.2 寻址方式3.3 数据传送类指令3.4 算术运算类指令3.5 逻辑运算及移位指令3.6 控制转移类指令3.7 子程序调用与返回指令3.8 位操作类指令3.9 汇编程序格式与伪指令3.10 汇编程序设计示例第 3章 MCS-51单片机指令系统和汇编语言程序示例3.1 MCS-51单片机指令系统概述3.1.1 指令、指令系统的概念指令是使计算机内部执行的一种操作,提供给用户编程使用的一种命令 。由构成计算机的电子器件特性所决定,计算机只能识别二进制代码。以二进制代码来描述指令功能的语言,称之为 机器语言 。第 3章 MCS-51单片机指令系统和汇编语言程序示例由于机器语言不便被人们识别、记忆、理解和使用,因此给每条机器语言指令赋予助记符号来表示,这就形成了 汇编语言 .也就是说,汇编语言是便于人们识别、记忆、理解和使用的一种指令形式,它和机器语言指令一一对应,也是由计算机的硬件特性所决定的。第 3章 MCS-51单片机指令系统和汇编语言程序示例计算机能够执行的全部操作所对应的指令集合,称为这种计算机的指令系统 。从指令是反应计算机内部的一种操作来看,指令系统全面展示出了计算机的操作功能,也就是它的工作原理;从用户使用的角度来看,指令系统是提供给用户使用计算机功能的软件资源。第 3章 MCS-51单片机指令系统和汇编语言程序示例要让计算机处理问题,首先要编写程序。编写程序实际上是从指令系统中挑选一个指令子集的过程。因此,学习指令系统既要从编程使用的角度掌握指令的使用格式及每条指令的功能;又要掌握每条指令在计算机内部的微观操作过程 , 即工作原理,从而进一步加深对硬件组成原理的理解。第 3章 MCS-51单片机指令系统和汇编语言程序示例指令一般有功能、时间和空间三种属性 :功能属性 是指每条指令都对应一个特定的操作功能;时间属性 是指一条指令执行所用的时间,一般用机器周期来表示;空间属性 是指一条指令在程序存储器中存储所占用的字节数。第 3章 MCS-51单片机指令系统和汇编语言程序示例这三种属性在使用中最重要的是 功能属性 ,但时间、空间属性在有些场合也要用到。如一些 实时控制应用程序 中,有时需要计算一个程序段的确切执行时间或编写软件延时程序,都要用到每条指令的 时间属性;在程序存储器的 空间设计 ,或相对 转移 指令的偏移量计算时就要用到指令的 空间属性 。第 3章 MCS-51单片机指令系统和汇编语言程序示例指令的描述形式有两种: 机器语言形式和汇编语言形式 。采用 机器语言 编写的程序称之为 目标程序 。采用汇编语言 编写的程序称之为 源程序 。第 3章 MCS-51单片机指令系统和汇编语言程序示例计算机能够直接识别并执行的只有机器语言。汇编语言程序不能被计算机直接识别并执行,必须经过一个中间环节把它翻译成机器语言程序, 这个中间过程叫做汇编 。汇编有两种方式:机器汇编和手工汇编 。机器汇编是用专门的汇编程序,在计算机上进行翻译;手工汇编是编程员把汇编语言指令逐条翻译成机器语言指令。第 3章 MCS-51单片机指令系统和汇编语言程序示例3.1.2 MCS-51单片机指令系统及其指令格式MCS-51单片机指令系统具有 功能强、指令短、执行快 等特点,共有 111条 指令。从功能上可划分成 数据传送 、 算术操作 、 逻辑操作 、程序转移、位操作 等五大类;第 3章 MCS-51单片机指令系统和汇编语言程序示例从空间属性上分为 单字节指令 (49条 )、双字节指令 (46条 )和最长的三字节指令 (只有 16条 )。从 时间属性上可分成 单机器周期指令 (64条 )、双机器周期指令 (45条 )和只有乘、除法两条 4个机器周期的指令。可见, MCS-51单片机指令系统在存储空间和执行时间方面具有较高的效率。第 3章 MCS-51单片机指令系统和汇编语言程序示例指令系统中的指令描述了不同的操作,不同操作对应不同的指令。但结构上,每条指令通常由 操作码和操作数 两部分组成。 操作码表示计算机执行该指令将进行何种操作,操作数表示参加操作的数的本身或操作数所在的地址 。MCS-51单片机的指令有 无操作数、单操作数、双操作数三种情况。汇编语言指令有如下的格式:标号: 操作码助记符 目的操作数 ,源操作数 ;注释 第 3章 MCS-51单片机指令系统和汇编语言程序示例为便于后面的学习,在这里先对描述指令的一些符号的约定意义作以说明:(1) Ri和 Rn: 表示当前工作寄存器区中的工作寄存器, i取 0或 1,表示 R0或 R1。 n取 07,表示 R0R7。(2) #data: 表示包含在指令中的 8位立即数。(3) #data16: 表示包含在指令中的 16位立即数。(4) rel: 以补码形式表示 8位相对偏移量,范围为 -128127,主要用在相对寻址的指令中。第 3章 MCS-51单片机指令系统和汇编语言程序示例(5) addr16和 addr11: 分别表示 16位直接地址和 11位直接地址(6) direct: 表示直接寻址的地址。(7) bit: 表示可位寻址的直接位地址。(8) (X): 表示 X单元中的内容。(9) (X): 表示以 X单元的内容为地址的存储器单元内容,即(X)作地址,该地址单元的内容用 (X)表示。(10) / 和 符号: “/”表示对该位操作数取反,但不影响该位的原值。 “” 表示操作流程,将箭尾一方的内容送入箭头所指另一方的单元中去。 第 3章 MCS-51单片机指令系统和汇编语言程序示例3.2 寻 址 方 式3.2.1 立即寻址方式操作数直接出现在指令中 ,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行,不需要经过别的途径去寻找,故称为 立即寻址 。汇编指令中,在一个数的前面冠以 “#“符号作前缀,就表示该数为立即寻址。寻址 就是寻找操作数的地址,寻找操作数地址的方式,称为操作数地址的寻址方式,简称寻址方式。第 3章 MCS-51单片机指令系统和汇编语言程序示例【 例 】 MOV A, 7AH上述指令将数 7AH送到 A中执行后 A 7AH,过程如右图。6DHA7AH立即数第 3章 MCS-51单片机指令系统和汇编语言程序示例例如: MOV A, #30H指令中 30H就是立即数。这一条指令的功能是执行将立即数 30H传送到累加器 A中的操作。该指令操作码的机器代码为 74H,占用一个字节存储单元,立即数 30H存放在紧跟在其后的一个字节存储单元,成为指令代码的一部分。整条指令的机器码为 74H 30H。第 3章 MCS-51单片机指令系统和汇编语言程序示例3.2.2 寄存器寻址方式寄存器寻址方式 就是对指令中指出的某一寄存器中的数作为操作数的寻址方式。【 例 】 如果 R1=56H,则执行指令 MOV A, R0 后,累加器 A=56H。93H14H6BHA3HR3R2R1R0A56H R0中的内容没有变第 3章 MCS-51单片机指令系统和汇编语言程序示例寄存器寻址按所选定的工作寄存器 R0R7进行操作,指令机器码的低 3位的八种组合 000, 001, ,110, 111分别指明所用的工作寄存器 R0, R1, , R6, R7。如: MOV A, Rn(n=07),这 8条指令对应的机器码分别为 E8HEFH。 在汇编指令中,累加器 A作为寄存器寻址的操作数,但在机器码中无需指明,它由操作码隐含。第 3章 MCS-51单片机指令系统和汇编语言程序示例3.2.3 寄存器间接寻址方式寄存器间接寻址方式 就是将指令指定的寄存器中的内容作为地址,将该地址所对应的存储单元中的数据作为真正参与运算或传送的操作数的寻址方式。寄存器间接寻址也简称寄存器间址。注意: 与寄存器寻址方式的格式不同在于寄存器前加 。第 3章 MCS-51单片机指令系统和汇编语言程序示例93H【 例 】 如果 R0=30H,( 30H) =B3H,则执行指令MOV A, R0后, A=B3H。指令 MOV A, R0 的工作过程示意点击页面。14HB3H30H31H30HR0A第 3章 MCS-51单片机指令系统和汇编语言程序示例这里需要强调的是:寄存器中的内容不是操作数本身 ,而是操作数的 地址 ,到该地址单元中才能得到操作数。寄存器起地址指针的作用。第 3章 MCS-51单片机指令系统和汇编语言程序示例例如: MOV A, R1指令的源操作数是寄存器间接寻址。该指令的功能是将以工作寄存器 R1中的内容 为地址的片内 RAM单元的数据 传送到 A中去 。例如:若 R1中的内容为 80H,片内 RAM地址为 80H的单元中的内容为 2FH,则执行该指令后,片内 RAM 80H单元的内容 2FH被送到 A中。寄存器间接寻址示意图如图 3.1所示。第 3章 MCS-51单片机指令系统和汇编语言程序示例图 3.1 寄存器间接寻址示意图 第 3章 MCS-51单片机指令系统和汇编语言程序示例3.2.4 直接寻址方式直接寻址方式 就是指令中给出操作数地址的寻址方式,即指令中给出的数据作为地址,该地址对应存储单元中的数据才是真正的操作数。【 例 】 设内 RAM 7AH单元中的内容为 6DH,则执行指令MOV A, 7AH 后, A中的内容为 6DH,即 A 6DH43H14H7BH7AHA6DH注意: 7AH单元中的数据没有变化第 3章 MCS-51单片机指令系统和汇编语言程序示例MCS-51系列单片机的 直接寻址可用于访问 片内、外数据存储器,也可用于访问程序存储器 。直接寻址可访问片内 RAM的低 128个单元(00H7FH), 同时也是用于访问高 128个单元的特殊功能寄存器 SFR的唯一方法。第 3章 MCS-51单片机指令系统和汇编语言程序示例另外,访问 SFR可在指令中直接使用该寄存器的名字来代替地址,如 MOV A, 80H,可以写成 MOV A, P0,因为 P0口的地址为 80H。直接寻址访问程序存储器的转移、调用指令中直接给出了程序存储器的地址,执行这些指令后,程序计数器 PC的内容 将更换为指令 直接给出的地址 ,机器将改为访问以所给地址为起始地址的存储区间,取指令 (或取数 ),并依次执行。第 3章 MCS-51单片机指令系统和汇编语言程序示例3.2.5 变址寻址方式变址寻址方式 就是将指令指定的变址寄存器和基址寄存器的内容相加形成操作数地址的寻址方式。【 例 】 如果 A=30H,DPTR=2000H,(2030H)=93H,执行指令MOVC A, A+DPTR是将累加器 A中的内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学生青春期健康教育知识讲座
- 广西核电面试题库高级版职业选择多面试技巧备选
- 不孕症的病因诊断及治疗选择建议
- 高薪职位必 备技能:高级会计岗位面试题库
- 林业公司面试题库精 编:行业热点与常见问题解答
- 生理性抑郁症讲解
- 小细胞性贫血
- 普外科业务汇报
- 神经康复治疗技术
- 文具玩具卫生管理规范
- 学校食堂保洁服务方案(技术标)
- 续贷款申请书范文
- 兼职音乐教师合同范例
- 科研项目管理质量承诺
- 《妊娠合并阑尾炎》课件
- 21、学生饮用奶食品安全应急预案
- 特立帕肽治疗骨质疏松性骨折中国专家共识(2024版)解读
- 第一章 有理数 大单元教学设计-2024-2025学年七年级数学上册(人教版2024)
- 2024米面油采购合同范本
- AQ 2029-2010 金属非金属地下矿山主排水系统安全检验规范(正式版)
- 2024年交管12123学法减分考试题库和答案
评论
0/150
提交评论