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

微机原理与接口-第4章5-控制类指令.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

五、控制转移类指令能够使程序的执行流程发生改变的指令当程序发生转移时,CS和IP的值可由指令指定。段间转移或段间调用可用FAR表示段内转移或段内调用可用NEAR表示若短距离内的转移(-128-127),称为短转移,用SHORT表示控制转移类指令控制转移类指令用于实现分支、循环、过程等程序结构,是仅次于传送指令的常用指令重点掌握:JMP/Jcc/LOOP/JCXZCALL/RETINTn/IRET常用系统功能调用目标地址的寻址范围:段内寻址段内转移——近转移(near)在当前代码段64KB范围内转移(±32KB范围)不需要更改CS段地址,只要改变IP偏移地址段内转移——短转移(short)转移范围可以用一个字节表达,在段内-128~+127范围的转移目标地址的寻址范围:段间寻址段间转移——远转移(far)从当前代码段跳转到另一个代码段,可以在1MB范围需要更改CS段地址和IP偏移地址目标地址必须用一个32位数表达,叫做32位远指针,它就是逻辑地址1无条件转移指令只要执行无条件转移指令JMP,就使程序转到指定的目标地址,从目标地址处开始执行指令操作数label是要转移到的目标地址(目的地址、转移地址)JMP指令分成4种类型:⑴段内转移、相对寻址,short,near⑵段内转移、间接寻址⑶段间转移、直接寻址⑷段间转移、间接寻址无条件转移指令JMP(jump)JMPlabel ;段内转移、相对寻址 ;IP←IP+位移量JMPr16/m16 ;段内转移、间接寻址 ;IP←r16/m16JMPfarptrlabel ;段间转移、直接寻址 ;IP←偏移地址,CS←段地址JMPfarptrmem ;段间转移,间接寻址 ;IP←[mem],CS←[mem+2]目的地址相对寻址方式目的地址寄存器段内间接寻址方式目的地址存储器段内间接寻址方式目的地址段间直接寻址方式目的地址存储器段间间接寻址方式2.条件转移根据判断条件是否成立决定是否转移。按照判断条件的不同分为以下类型:单个标志、无符号数判断、有符号数判断、CX寄存器。条件转移都是段内直接短转移,即(IP)=(IP)+Data8类型的转移。⑴判断单个标志ZF:JZ(JE),JNZ(JNE)SF:JS,JNSOF:JO,JNOPF:JP,JNPCF:JC,JNC⑵判断无符号数的大小助记符中的意义:A:大于,B:小于,E:等于JB(JNAE),JNB(JAE)同JC,JNC,JBE(JNA),JNBE(JA):判断CFandZF⑶判断有符号数的大小助记符中的意义:G:大于,L:小于,E:等于JL(JNGE):SFxorOF=1JNL(JGE):SFxorOF=0JLE(JNG):(SFxorOF)andZF=1JNLE(JG):(SFxorOF)andZF=0⑷判断CX寄存器JCXZ:CX=03.循环循环指令的转移也都是段内直接短转移,即(IP)←(IP)+Data8类型的转移。LOOP循环判断CX是否等于零,不等于零则循环LOOPZ(LOOPE)当为零或相等时循环判断CX是否等于零,不等于零且ZF=1则循环LOOPNZ(LOOPNE)当不为零或不相等时循环判断CX是否等于零,不等于零且ZF=0则循环操作:①CX←CX-1②根据判断结果确定是否循环说明:①循环指令不影响状态标志。②如果目标位置的位移量超出Data8所能够表示的范围,则需要用JMP辅助来完成循环。条件转移指令的含义JZ/JE JumponZero/EqualJNZ/JNE JumponNotZero/EqualJS JumponSignJNS JumponNotSignJP/JPE JumponParity/ParityEvenJNP/JPO JumponNotParity/ParityOddJO JumponOverflowJNO JumponNotOverflowJC/JB/JNAE JumponCarry/Below/NotAboveorEqualJNC/JNB/JAE JumponNotCarry/NotBelow/AboveorEqualJBE/JNA JumponBeloworEqual/NotAboveJNBE/JA JumponNotBeloworEqual/AboveJL/

文档评论(0)

iris + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档