第2章MCS51单片机指令系统及汇编语言程序设计基础.ppt

第2章MCS51单片机指令系统及汇编语言程序设计基础.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 MCS-51单片机指令系统及汇编语言程序设计基础 2.1 MCS-51单片机指令格式 2.2 MCS-51单片机寻址方式 2.3 MCS-51单片机指令 2.4 汇编语言程序设计基础 2.1 MCS-51单片机指令格式 2.1.1 指令格式 2.1.2 指令的字节数 2.1.3 指令分类 2.1.1 指令格式 指令格式是指指令码的结构形式,通常,指令可以分为操作码和操作数两部分,其中,操作码部分比较简单,而操作数部分就比较复杂了,一般来说,根据计算机类型的不同而具有较大的差异。 MCS-51系统单片机的指令系统采用了地址压缩技术,将操作数字段的四个地址压缩到一个地址中,故称为单地址指令,其具体的指令格式为: 2.1.2 指令的字节数 在指令的二进制形式中,指令不同,指令的操作码和操作数也不相同,MCS-51机器语言指令根据其指令编码长短的不同有单字节指令、双字节指令和三字节指令三种格式。 1、单字节指令(49条) 2、双字节指令(45条) 3、三字节指令(17条) 1、单字节指令(49条) 单字节指令码只有一个字节,由八位二进制数组成,这类指令共有49条,其操作码中包含了操作数的信息。单字节指令码可以分为两种形式,一类是无操作数单字节指令,另一类是含有操作数寄存器编号的单字节指令。 (1)无操作数单字节指令 这类指令的指令码的8位全表示操作码,没有专门指示操作数的字段,操作数是隐含在操作码中的。例如,空操作指令NOP,其机器码为: (2)含有操作数寄存器编号的单字节指令 这类指令的指令码的8位编码中既包含操作码字段,也包含专门用来指示操作数所在寄存器编号的字段。例如:8位数传送指令: MOV A,Rn;A←Rn 这条指令的功能是把寄存器Rn(n=0,1,2,3,4,5,6,7)中的内容送到累加器A中去。其机器码为: 2、双字节指令(45条) 双字节指令含有两个字节,可以分别存放在两个存储单元中,操作码字节在前,操作数字节在后,其中,操作数字节可以是立即数(指令码中的数),也可以是操作数所在的片内RAM地址。 例如: MOV A,#DATA;A←data 这条指令的功能是将立即数DATA送到累加器A中去。假设立即数DATA=85H,则其机器码为: 3、三字节指令(17条) 这类指令的指令码的第一个字节为操作码,第二和第三个字节为操作数或操作数地址。 例如: MOV direct,#data 这条指令是将立即数data送到地址为direct的单元中去。假设direct=78H,data=80H,则MOV 78H,#80H指令的机器码为: 用二进制编码表示的机器语言指令由于不便阅读理解和记忆,因此在微机控制系统中采用汇编语言(用助记符和专门的语言规则表示指令的功能和特征)指令来编写程序。 一条汇编语言指令中最多包含四个区段,如下所示: [标号:] 操作码助记符 [目的操作数][,源操作数] [;注释] 例如,把立即数F0H送累加器的指令为: START : MOV A,#0F0H ; 立即数F0H→A 2.1.3 指令分类 MCS-51指令系统有42种助记符代表了33种操作功能,这是因为有的功能可以有几种助记符(例如数据传送的助记符有MOV,MOVC,MOVX)。指令功能助记符与操作数各种可能的寻址方式相结合,共构成111条指令。 2、根据指令执行的时间,指令系统分为: (1)1个机器周期(12个时钟振荡器周期)指令(64条) (2)2个机器周期指令(45条)(24个时钟振荡器周期) (3)乘、除两条指令为4个机器周期指令(48个时钟振荡周期) 2.2 MCS-51单片机寻址方式 2.2.1 立即寻址 2.2.2 直接寻址 2.2.3 寄存器寻址 2.2.4 寄存器间接寻址 2.2.5 变址寻址 2.2.6 相对寻址 2.2.7 位寻址 2.2.1 立即寻址 立即寻址方式的操作数包含在指令字节中,指令操作码后面字节的内容就是操作数本身,采用立即寻址方式的指令一般为双字节指令,第一个字节为操作码,第二个字节为立即操作数,立即操作数的前面冠以#符号作前缀,就表示该数为立即寻址。例如: 助 记 符 注释 MOV A,#70H ;A ←70H 在指令中含有操作数的直接地址,该地址指出了参与操作的数据所在的字节地址或位地址。 直接寻址方式中操作数存储的空间有三种: (1)片内数据存储器的低128个字节单元(00H~7FH) 例如: MOV A,70H ;A←(70H) (2)位地址空间

您可能关注的文档

文档评论(0)

大漠天下 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档