程序控制指令的.pptVIP

  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文档。上传文档
查看更多
程序控制指令的

3.3.5 程序控制指令;表4-6 控制转移类指令;续表(2);续表(3);续表(4);转移指令的实质: 改变IP(或者CS和IP)的内容。 对标志位flags的影响: 所有转移指令不会影响标志位flags。 分类: 分为无条件转移和条件转移两种。;(1) 无条件转移指令 - JMP 本指令无条件转移到指定的目标地址, 以执行从该地址开始的程序段。根据设置CS、IP的方法,JMP指令可实现短\近\远距离跳转, 指令分成4种情况。 ① 段内直接转移: JMP disp 指令中给出的8/16位的位移量加到IP, CS保持不变。 ② 段内间接转移: JMP reg / mem reg/mem中的16位偏移地址送IP, CS保持不变。 ③ 段间直接转移 JMP segment : offset 指令中给出的16位的段和16位的偏移地址送到CS和IP。 ④ 段间间接转移 JMP mem32 mem32中的16位的段和16位的偏移地址送到CS和IP。; 转移的目标地址由指令直接给出。指令中给出的目标地址实际上是一个相对于IP的位移量: JMP disp ; 位移量 转移范围 汇编语言中格式 8位 -128~+127 JMP SHORT OPRD; 短距离 16位 -32768~+32767 JMP NEAR PTR OPRD 或 OPRD ; 近距离 注意: disp的助记符写为新IP’, 而disp的机器码为位移量d(新IP’=原IP+位移量d) 例:JMP 0120H ;直接转向0120H(缺省为NEAR) JMP SHORT LP ;转向LP JMP NEAR PTR BBB;转向BBB 由于是段内转移,故转移后CS内容保持不变;无条件段内转移;②段内间接转移 转移的目标地址由寄存器或存储单元的内容给出。 例1:JMP SI ; 近距离 若(SI)=1200H,则指令执行后,(IP)=1200H,于是转向代码段的偏移地址1200H处开始执行。 注意:目标地址以段内偏移的形式给出,而不是相对于IP的位移量,所以它是一个16位的操作数。;无条件段内转移; 例2:JMP [BX+DI] 设指令执行前: (DS)=3000H,(BX)=1300H, (DI)=1200H,(32500H)=2350H; 则指令执行后:(IP)=2350H 在汇编语言中,段内间接寻址通常写成: JMP WORD PTR[BX+DI] 表示所取得的目标地址是一个字。;③段间直接转移 在指令中直接给出要转移到的目的段地址和偏移地址。 例:JMP 2000H:1000H ;远距离 执行时,(IP)←1000H,(CS)←2000H 注意:直接地址为符号地址时,段间直接转移指令中的符号地址前应加操作符FAR PTR。 例:JMP FAR PTR far_label ;远距离 其中的far_label为远类型的标号。;无条件段间转移; 转移的目的地址(段和偏移)在两个相邻的字存储单元中。例如: JMP DWORD PTR[SI] ; 远距离 设指令执行前:(DS)=4000H,(SI)=1212H, (41212H)=1000H,(41214H)=4A00H 则指令执行后:(IP)=1000H,(CS)=4A00H 于是转到4B000H处开始执行指令。 例中的DWORD PTR表示转移地址是一个双字。;无条件段间转移;4000; 条件转移指令可实现程序的条件分支。 条件转移指令根据标志位的状态来决定是 否进行分支转移。 格式:JXX label;xx为条件名称缩写 指令的转移范围为-128~+127字节(短跳转)。 主要的条件转移指令参见p142表3-7。 ;① 根据单个标志位设置的条件转移指令 JB/JC ;低于,或CF=1, 则转移 JNB/JNC/JAE ;不低于,或CF=0,高于或等于, 则转移 JP/JPE ;奇偶标志PF=1(偶),

文档评论(0)

ayangjiayu4 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档