网站大量收购独家精品文档,联系QQ:2885784924

单片机原理MCS-51系列单片机指令系统.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS-51系列单片机指令系统 介绍8051单片机的指令系统。 指令系统概述 8051单片机的基本指令共111条,按指令所占的字节来分: 1 单字节指令49条; 2 双字节指令45条; 3 三字节指令17条。 按指令的执行时间来分: 1 1个机器周期(12个时钟振荡周期)指令64条 2 2个机器周期(24个时钟振荡周期)指令45条 3 只有乘、除两条指令的执行时间为4个机器周期(48个时钟振荡周期)。 3.1 指令格式 令的编码格式 两部分组成,即操作码和操作数。 操作码用来规定指令进行什么操作 操作数则是指令操作的对象 机器指令按指令字节数分为单字节指令、双字节指令、三字节指令: (1)单字节指令:指令只有一个字节,操作码和操作数同在一个字节中。 (2)双字节指令:一个字节为操作码,另一个字节是操作数。 (3)三字节指令:操作码占一个字节,操作数占二个字节。其中操作数既可能是数据,也可能是地址。 符号指令的格式 8051单片机符号指令的格式如下: [标号: ]操作助记符[目的操作数][, 源操作数][; 注释] 例如: LOOP: ADD A, #10H ; A ← A +10H 1 方括号[ ]表示该项是可选项, 可有可无。 2 标号是用户设定的符号, 它实际代表该指令所在的地址。 标号必须以字母开头, 其后跟1~8个字母或数字, 并以“:”结尾。 3 操作助记符是用英文缩写的指令功能助记符。 它确定了本条指令完成什么样的操作功能。 如: ADD表示加法操作。 任何一条指令都必须有该助记符项, 不得省略。 4 目的操作数提供操作的对象, 并指出一个目标地址, 表示操作结果存放单元的地址, 它与操作码之间必须以一个或几个空格分隔。 如上例中A表示操作对象是累加器A的内容, 并指出操作结果又回送A存放。 5 源操作数指出的是一个源地址(或立即数), 表示操作的对象或操作数来自何处。 它与目的操作数之间要用“,”号隔开。 6 注释部分是在编写程序时, 为了增加程序的可读性, 由用户拟写对该条指令或该段程序功能的说明。 它以分号“;”开头, 可以用中文、 英文或某些符号来表示, 它只出现在源程序中。 指令中常用符号 在分类介绍各类指令之前, 先对描述指令的一些符号意义进行一些简单约定: 1 Ri和Rn: R表示当前工作寄存器区中的工作寄存器, i表示0或1, 即R0和R1。 n表示0~7, 即R0~R7, 当前工作寄存器的选定是由PSW的RS1和RS0位决定的。 2 #data: #表示立即数, data为8位常数。 #data是指包含在指令中的8位立即数。 3 #data16: 包含在指令中的16位立即数。 4 rel: 相对地址, 以补码形式表示的地址偏移量, 范围为-128~+127, 主要用于无条件相对短转移指令SJMP和所有的条件转移指令中。 5 addr16: 16位目的地址。 目的地址可在全部程序存储器的64KB空间范围内, 主要用于无条件长转移指令LJMP和子程序长调用指令LCALL中。 6 addr11: 11位目的地址。主要用于绝对转移指令AJMP和子程序绝对调用指令ACALL指令中,目的地址与转移指令或调用指令下条指令处于相同的2KB程序存储器地址空间范围内。 7 direct: 表示直接寻址的地址, 即8位内部数据存储器RAM的单元地址(0~127/255 , 或特殊功能寄存器SFR的地址。 对于SFR可直接用其名称来表示。 8 bit: 内部数据存储器RAM和特殊功能寄存器SFR中的可直接寻址位地址。 9 @: 间接寻址寄存器或基地址寄存器的前缀, 如@Ri, @DPTR, 表示寄存器间接寻址。 10 X X中的内容。 11 X 由X寻址的单元中的内容 3.2 指令系统的寻址方式 寻址方式就是寻找操作数或指令地址的方式.本书所讲的寻址方式是指在指令中说明源操作数所在地址的方法。 共7种寻址方式。 1.寄存器寻址方式 操作数在寄存器中,因此指定了寄存器就能得到操作数,在寄存器寻址方式的指令中以符号名称来表示寄存器. MOV A,Rn ;(Rn)→A,n 0~7 表示把寄存

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档