- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机第2章 指令系统
例 A= 9AH,R2= E3H,PSW= 0,执行指令 ADDC A,R2 后求: A= ,Cy= ,OV= ,AC= ,P= PSW= ? 1001 1010 1110 0011 + 0 1 0111 1101 7DH 1 1 0 0= 84H CY AC F0 RS1 RS0 OV --- P 1 0 0 0 0 1 0 0 针对 A的指令 A取反:CPL A A清零:CLR A CY CY RR A RL A RLC A RRC A 移位指令(仅对 A )00101101 A A 设A 1 CYA 0A 1 CY CY 2.4 控制转移指令 这一类指令的功能是改变指令的执行顺序,转到指令指示的新的地址执行。 MCS-51单片机的控制转移指令有以下三类分类: 无条件转移:无需判断,执行该指令就转移到目的地址。 条件转移:需判断标志位是否满足条件,满足条件转移到目的地址,否则顺序执行。 长转移或长调用:目的地址距当前PC 64KB地址范围内。 短转移或短调用:目的地址距当前PC 2KB地址范围。 1.长调用 LCALL addrl16 ;addr16→PC0~15 说明: (1)该指令功能是 ①保护断点,即当前PC(本指令的下一条指令的首地址)压入堆栈。 ②子程序的入口地址 addr16 送PC,转子程序执行。 (2)本指令用于调用64KB地址范围内的子程序,子程序可在64KB地址空间的任一处。 (3)本指令的机器码为12 addr16。(三字节指令) 2.短调用 ACALL addr11 ;addr11→PC0~10 说明: (1)该指令的功能是 ①保护断点,即当前PC压入堆栈。 ② addrl11→PC0~10,而PC11~15不变。 (2)本指令用于调用2KB地址范围的子程序,子程序入口距当前PC不得超过2KB地址范围。 (3)是为了与MCS-48中的CALL指令兼容而设的。 3.子程序返回指令 RET ;从被调子程序返回。 功能:从栈顶弹出断点到PC。 RETI ; 从中断服务程序返回。 功能:从栈顶弹出断点到PC,并恢复中断优先级状态触发器。 2.4.2 转移指令 1. 无条件转移指令 (1)短转移 AJMP addr11 ;addr11→PC0~10 说明: ①转移范围:与PC距离2KB地址范围内。 ②机器码形式:本指令为2字节指令。设addr11的各位是a10a9a8…a2a1a0,则指令的机器码为a10a9a800001a7a6a5a4a3a2a1a0。 ③本指令是为能与MCS-48的JMP指令兼容而设的 (2)长转移 LJMP addr16 ;addr16→PC0~15 说明: ①转移地址为16位地址中的任意值。 ②本指令为3字节指令:02 addr16。 (3)间接转移 JMP @A+DPTR ;A+DPTR→PC 例 2-20 A=12H,DPTR=2000H, 指令JMP @A+DPTR执行后,PC=2012H。 例 2-21 现有一段程序如下: MOV DPTR,#TABLE JMP @A+DPTR TABLE: AJMP PROC0 AJMP PROC1 AJMP PROC2 AJMP PROC2 根据JMP @A+DPTR指令的操作可知, 当A=00H时,程序转入到地址 PROC0 处执行; 当A=02H时,转到PROC1处执行…… 可见这是一段多路转移程序,进入的支路由A确定。因为AJMP指令是2字节指令,所以 A 必须为偶数。 以上均为绝对转移指令,下面介绍相对转移指令。 (4)无条件相对转移 SJMP rel ;PC+rel→PC, 即As+2+rel→PC,机器码为80 rel 说明: As为源地址(本指令的首地址),该指令为2字节指令,执行本指令时
文档评论(0)