《单片机原理与应用》第2章 MCS-51系列单片机指令系统.pptVIP

《单片机原理与应用》第2章 MCS-51系列单片机指令系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

【例2.34】设rel=(0FEH)为补码表示的数,其实际值为-2,JADR代表任一地址,执行指令:JADR:SJMPJADR,机器码为80FE,既rel=JADR-(JADR+2)=(0FEH),结果:程序在原处无限循环。执行完这条指令后本应执行下一条指令,但它向后跳动两个字节,实际上又回来执行这条指令。综上所述关于无条件转移指令,应注意以下三点:①这三条无条件转移指令转移到目的地址的方式不同,允许转移的范围不同,指令的字节数也不同,使用时应注意它们的区别。LJMP和AJMP指令直接给出转移地址,又叫绝对地址,因此在修改程序存放的地址时必须修改指令中的转移地址。而SJMP指令给出的是相对转移地址,因此在修改程序存放的地址时,只要相对偏移量不变,就无需做任何修改,正是由于这个原因,在程序中提倡使用相对转移指令。②这三条指令,如果不关心它们在机器中如何编码,可以采用助记符“JMP”格式。它们都可以采用两种方法在汇编语言程序中表示转移地址;一个标号或一个16位常数。机器在对程序汇编时能够按照给定的指令格式产生正确的机器码。如果目的地址超出该指令允许的转移区间,将给出“目的地址超过区域”之类的错误提示信息。③AJMP指令(以及下面的ACALL指令)是为了和MCS-48指令系统兼容而给出的,初学者可少使用它,不过这条指令是双字节指令,所占程序地址空间少。(4)指令:JMP@A+DPTR功能:间接转移。说明:JMP指令把累加器A中的8位无符号数与数据指针的16位数相加,其和放到PC中,形成控制程序转移的目的地址,加法运算不改变累加器和数据指针的内容,不影响任何标志位。间接转移指令的转移地址不是在指令中直接给出的,而是随累加器中数据的变化在以DPTR为起始的256个字节范围内变化。这是它与无条件转移指令的不同之处,基于这一特点,又称该指令为散转移指令。散转指令常用于分支程序结构中,它可以在程序的运算过程中,由A的内容动态地决定程序的分支走向,即构成所谓散转程序。【例2.35】设按键的值在累加器A中(键值为00H,01H,02H…),要求按不同的按键时执行不同的程序,试编制按键值处理的键盘处理程序,当键值为00H时,转移到KYE0、键值为01H时,转移到KYE1去处理程序等。程序为:MOVDPTR,#DYEG;散转表入口地址送DPTRMOVB,#03H;LJMP指令长度是3字节,计算指令间隔。MULAB;扩展子程序地址表的间隔(4100、4103、4106)JMP@A+DPTR;跳转到相应程序入口地址(4100H、4103H、4106H)程序地址和机器码…;省略的程序4100H024320DYEG:LJMPKYEO;散转子程序入口地址4103H024536LJMPKYE1;每条指令占据三个字节程序地址4106H024632LJMPKYE2;占据4106H~4108H三个字节程序地址4009H…;省略的程序2.5.2调用指令调用指令用于调用子程序,有长调用和短调用两种。1.指令:LCALLaddr16功能:长距离调用。CALL有呼叫的意思。说明:LCALL指令调用位于指定地址(add16)处的子程序。指令长度为3字节,子程序可以在全部64K存储空间的任何地方。不影响任何标志位,指令的操作如下:(PC)←(PC)+3;获得当前指令下

文档评论(0)

扬州牧 + 关注
实名认证
文档贡献者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档