- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理第3章全解
1 第3章 MCS-51单片机指令系统 指令是规定CPU执行某类操作的命令 CPU具有的全部指令的集合称为指令系统 指令系统是人机交互的纽带 本章将介绍以下几方面的内容: 单片机指令系统的格式、标识及其助记符; 单片机指令系统的寻址方式; 单片机指令系统的分类以及每条指令的意义。 3.1 单片机指令系统的特点 MCS-51单片机的指令系统包含5种类型的指令,有7种寻址方式,其机器语言共有255种操作代码,即机器码 汇编语言使用42种助记符表示指令的功能 每种功能的指令所涉及的操作数可能有不同的寻址方式,因此,各种功能的指令与该指令所涉及的操作数可能有的寻址方式相组合,共构造出111条指令 即:MCS-51单片机的指令系统一共有42种助记符,111条汇编语言指令,且用255个机器码表示。 例如: ADD ---加法助记符 3.1 单片机指令系统的特点 指令系统长度: 单字节指令49条; 双字节指令45条; 三字节指令17条。 指令执行时间: 单机器周期指令64条; 双机器周期指令45条; 只有乘、除两条指令需要4个机器周期。 指令系统特点: 对存储空间要求较少且执行速度较快,可用较小的存储空间存放完成功能较复杂的控制程序,精简而高效,适于在实时测控领域使用。 3.2 汇编语言格式及机器码表示方法 3.2.1 指令系统的汇编语言格式 指令通常包含操作码(Operation Code)和操作数(Operand)两个部分 操作码指明执行的操作的性质与功能,即指示计算机执行何种操作; 操作数指出参加操作的数据或数据所在单元的地址。 指令系统的汇编语言格式为: [标号:] 操作助记符 [目的操作数] [,源操作数] [;注释] 3.2.2 指令系统的机器码表示方法 一、单字节指令 单字节指令中既包含操作码的信息,也包含操作数的信息,单字节指令包括两种情况: 一种是指令的含义和对象都很明确,用一个字节已能完全表示,即没有与这条指令功能相同而操作对象不同的指令。 例如,将累加器A的内容加1的指令 INC A即为单字节指令,指令的编码为:0000 0100B,这类指令的机器码编码格式为: 另一种情况是8位编码含有操作码和寄存器编码。 例如:将当前工作寄存器R0中的数据传送到累加器A中的指令:MOV A,R0,机器码为1110 1000B,这类指令的机器码编码格式为: 二.双字节指令 双字节指令中,用第一字节表示操作码,第二个字节表示参与操作的数据或数据存放的地址。 MCS-51指令系统中有45条双字节指令。这类指令的指令编码格式为: 三. 三字节指令 三字节指令的第一字节是操作码,后两个字节是操作数。 操作数可以是数据(立即数),也可以是存放数据的地址,因此,三字节指令的编码形式有以下四种情况: 例如:MOV 20H,#50H 编码。十六进制表示为75H,20H,50H。 功能是将数据“50H”传送到内部数据存储器的20H单元中。 这类指令中的存储单元有256个,需用一字节表示,数据也有256个,也需用一字节表示,因此需要用3个字节表示指令的具体功能 3.2.3 指令中的符号标识 为了方便讲解指令系统,本书用一些符号标识来代替若干相似的操作数,以用一条“指令”代表若干条同类指令, 在后续章节中用到的符号标识及含义如下: Rn(n=0~7)--- 当前选中的工作寄存器组中的寄存器R0~R7之一; Ri(i=0,1)---当前选中的工作寄存器组中的寄存器R0或R1; @ -----------------间址寄存器前缀; #data -------------8位立即数; #data16----------16位立即数; direct-------------片内数据存储器地址及SFR地址(可用符号名称表示); addr11-----------11位目的地址; addr16-----------16位目的地址; rel----------------补码形式表示的8位地址偏移量,值在-128~+127范围内; bit----------------片内数据存储器可位寻址单元的位地址、SFR的位地址(可用符号名称表示); /----位操作数的取反操作前缀; (×)--- 表示 × 地址单元或寄存器中的内容; ← ---将箭头右边的内容送入箭头左边的单元中。 → ---将箭头左边的内容送入箭头右边的单元中。 3.3 MCS-51单片机指令系统的寻址方式 指令执行时,得到参与操作的数据或者数据所在的地址单元的方法就是寻址方式。 51指令系统有七种寻址方式,即: 寄存器寻址、 立即寻址、 直接寻址、 寄存器间接寻址、 变址寻址、 相对寻址
文档评论(0)