80C51单片机指令系统要点分析.pptVIP

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 每条指令在程序存储器ROM中占据一定的空间,以字节为单位。按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条) 每条指令在执行时要花去一定的时间,以机器周期为单位。按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条) * 寻址: 就是寻找操作数地址 寻址方式:就是在指令中给出的寻找操作数或操作数所在地址的方法。 七种寻址方式,一条指令可能含多种寻址方式 * 立即寻址是直接给出操作数,操作数前有立即数符“ # ”。 MOV A,#30H ;将立即数30H传送至A中 MOV DPTR,#5678H ;将立即数5678H传送至DPTR ADD A,#05H ;(A)←(A)+立即数 05H 注意:符号“#”表明其后跟的是立即数, 立即数——就是数字量本身。 * 特殊功能寄存器,可以单元地址形式给出外,还可以寄存器符号形式给出。直接寻址是访问特殊功能寄存器的唯一方法 * 寄存器寻址的操作数在规定的寄存器中。 * 寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数。间接寻址用间址符“@”作为前缀。 * 在指令中给出的操作数为程序转移的偏移量。 转移的目的地址可用如下公式表示: 目的地址=转移指令所在地址+转移指令字节数+rel 注意:符号“rel”表示“偏移量”,是一个带符号的单字节数,范围是:-128—+127(80H—7FH) 例如:指令JC 80H 若进位位C为1,则以程序计数器PC中当前值为基地址,加上偏移量80H后所得结果作为该转移指令的目的地址,其执行示意图如图3–5所示。 指令的操作码存在 1000H单元,偏移量存在 1001H单元。执行该指令后,程序计数器PC 指向1002 H(即当前值)。这里80H即–128,故1002H与–128(80H)相加(补码运算)后得到转移地址 0F82H。 * ⑴ 单字节指令:一个字节,操作码和操作数同在一个字节中。 如 MOV A,Rn 指令机器码为单字节11001rrr,其中rrr可表示为000~111,分别代表R0~R7 ⑵ 双字节指令:一个字节为操作码,另一个字节是操作数 MOV A,#data 8位立即数data占一个字节,操作码占一个字节 ⑶ 三字节指令:操作码占一个字节,操作数占两个字节。其中操作数既可能是数据,也可能是地址。 如ANL direct ,#data 指令需三个字节,第一字节为操作码,第二字节为8位直接地址direct,第三字节为8位立即数data * Rn :n=0~7,当前寄存器组R0~R7 中的一个。 Ri :i=0,l,用作间接寻址的寄存器,是R0、R1 中的一个。 direct:内部RAM直接地址,8位,direct表示直接寻址方式。 #data:指令中所含的8位立即数。 #data16: 指令中所含的16位立即数。 Addr16:16位目的地址,只限于在LCALL和LJMP指令中使用。 addr11 :11位目的地址,只限于在ACALL和AJMP指令中使用。 rel :相对转移指令中的偏移量,8位带符号数。转移范围为相对于下一条指令笫一字节地址的-128~+127。 bit :片内 RAM (包括部分特殊功能寄存器)中的直接寻址位。 C :进位标志位,是布尔处理机中的累加器,也称之为累加位 * 例1∶(R0)=12H,(R1)=34H,片外RAM (34H)=56H。执行指令 MOVX A,@R1 MOVX @R0,A 片外RAM的(34H),(12H),A中是什么? 执行结果为片外RAM的(34H)=56H,(12H)=56H。 * 说明:累加器A允许的最大BCD码数为99BCD,当对A实行加99BCD码数时,必然形成对BCD码百位数的进位,而剩在A中的内容正是压缩BCD码数减1。如BCD的59H,经DA A的调整后,为58H且CY=1,不考虑进位CY,则BCD码59-1=58。 * 注:实现左移5位,采用了两种方法,即移位和乘法。 * LJMP是一个三字节指令,因此转移指令入口地址相隔3个字节,A中内容需是3的倍数。 注意:从程序存储器中读取数据(如表格、常数等)的指令 MOVC A,@A+PC ;PC为基址寄存器时,数表只能放在该指 令单元往下的256个单元中,称为近程查表 MOVC A,@A+DPTR ;DPTR为基址寄存器时,允许数表存

文档评论(0)

南非的朋友 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档