《控制转移类指令》PPT课件.ppt

《控制转移类指令》PPT课件.ppt

ID:52085944

大小:710.50 KB

页数:65页

时间:2020-03-31

《控制转移类指令》PPT课件.ppt_第1页
《控制转移类指令》PPT课件.ppt_第2页
《控制转移类指令》PPT课件.ppt_第3页
《控制转移类指令》PPT课件.ppt_第4页
《控制转移类指令》PPT课件.ppt_第5页
资源描述:

《《控制转移类指令》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章MCS-51指令系统实训3指令的应用3.1简介3.2寻址方式3.3指令系统本章小结习题3⒌循环移位指令(4条)①循环左移:RLA不影响标志位②带Cy循环左移:RLCA影响Cy,P③循环右移:RRA不影响标志位④带Cy循环右移:RRCA影响Cy,P二进制数的特点:左移一位增大一倍,右移一位减少一半。在汇编语言程序中,通常用带CY(CY=0)循环左移实现乘2操作,通常用带CY(CY=0)循环右移实现除以2操作。例3某已知数存在R4中,试将其乘以2存在R3中,除以2存在R2中。编程如下:CLRCMOVA,R4RLCAMOVR3,ACLRCMOVA,R4RRCAMOVR2,A3.3.5控制

2、转移类指令控制转移类指令的本质是改变程序计数器PC的内容,从而改变程序的执行方向。控制转移类指令分为:无条件转移指令、条件转移指令及调用和返回指令。四、控制转移类指令三字节指令机器码:02addr15-8addr7-0⒈无条件转移指令(4条)⑴长转移指令LJMPaddr16;addr15~0→PC,转移范围:可以转移到16位地址所表示的整个64K程序存储区(ROM)。例1:2000H:LJMP3000H解:PC=3000H,16位目标地址直接进入PC。例3.11假定在某程序中存在如下指令:NEXT:MOVA,#00H;NEXT为指令的标号,代表该指令在;程序存储器中存放的地址,假定该;指

3、令的存储地址为2000H请写出指令LJMPNEXT执行后PC的值。解:执行指令LJMPNEXT之后,PC=2000H,即程序从NEXT标号所指向的指令开始执行。⑵短转移指令AJMPaddr11;PC+2→PC,addr10~0→PC10~0,PC15~11不变双字节指令机器码:a10a9a800001a7a6……a0转移范围:11位地址转移,转移范围为PC+2后的同一2KB区域内。执行步骤:(1)产生当前PC。PC+2PC(2)形成转移目标地址。⑶相对转移指令SJMPrel;PC+2→PC,PC+rel→PC双字节指令转移范围:当前PC+127B~-128B执行步骤:(1)形成当前PC(

4、2)形成转移目标地址,PC+relPCrel(相对偏移量):有符号数8位二进制数,正数程序向下转移,负数程序向上转移。例4、2000H:SJMP60H5、2000H:SJMP90H6、2000H:SJMP0FEH解4:(1)当前PC=PC+2=2000H+2=2002H(2)形成转移目标地址,PC=PC+rel=2002H+60H=2062H,向2000H后转移解5:(1)产生当前PC=PC+2=2000H+2=2002H(2)rel是带符号的补码,当rel80H(负数)时,计算前应加上FF,即rel=FF90H(带符号扩展)(3)形成转移目标地址,PC=PC+rel=2002+FF9

5、0H=1F92H,向2000H前转移解6:(1)产生当前PC,PC=PC+2=2002H(2)形成转移目标地址,PC=PC+rel=2002+FFFEH=2000H,程序在原地踏步。常写为:SJMP$;$表示0FEHLJMP、AJMP、SJMP三条无条件转移指令的区别:①转移范围不一样。LJMP转移范围是64KB;AJMP转移范围是与当前PC值同一2KB;SJMP转移范围是当前PC-128B~+127B。使用AJMP和SJMP指令应注意转移目标地址是否在转移范围内,若超出范围,程序将出错。②指令字节不一样。LJMP是3字节指令;AJMP、SJMP是2字节指令。⑷间接转移指令(散转指令)J

6、MP@A+DPTR;A+DPTR→PC指令的目标地址与当前PC值无关,可以在程序运行中加以改变,完成程序的散转。例3.14假定DPTR=2000H,指出当累加器A的内容分别为02H、04H、06H、08H时,执行指令JMP@A+DPTR后,PC的值分别为多少。解:当累加器A=02H时,执行指令JMP@A+DPTR后,PC=2000H+02H=2002H。当累加器A=04H时,执行指令JMP@A+DPTR后,PC=2000H+04H=2004H。当累加器A=06H时,执行指令JMP@A+DPTR后,PC=2000H+06H=2006H。当累加器A=08H时,执行指令JMP@A+DPTR后,

7、PC=2000H+08H=2008H。3、条件转移指令(13条)条件转移指令根据判断条件可分为:(1)判A转移(2)比较不相等转移指令(3)减1非0转移(4)判C转移(位指令)(5)判bit转移(位指令)满足条件,则转移;不满足条件,则程序顺序执行。①A=0转移指令:JZrel;PC+2→PC,若A=0,则PC+rel→PC,转移若A0,则程序顺序执行(1)判A转移指令(2条)②A0转移指令:JNZrel;PC+2→PC,若A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。