第3章6 控制移指令.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章6 控制移指令

3.2.5 控制转移指令: 1 无条件转移指令 无条件转移指令 无条件转移指令 2 条件转移指令 (1) 根据单个条件标志的设置情况转移 (2) 比较两个无符号数,并根据比较结果转移* (3) 比较两个带符号数,并根据比较结果转移 (4) 测试 CX 的值为 0 则转移 循环结构 用转移指令实现循环结构: MOV CX,N …… AGAIN: …… …… DEC CX JNZ AGAIN 3 循环指令: 循环指令 注意: * CX 中存放循环次数 *只能使用段内直接寻址的8 位位移量 * 不影响条件标志位 循环指令: 例: 4 过程调用和返回指令 主程序与子程序 子程序调用和返回指令: 1、CALL 调用指令 1、CALL 调用指令 2、RET 返回指令 2、RET 返回指令 5 中断指令 有时当系统运行或者程序运行期间在遇到某些特殊情况时,需要计算机自动执行一组专门的例行程序来进行处理。这种情况称为中断(Interrupt),所执行的这组程序称为中断例行程序(Interrupt routine)或中断子程序。中断分为内部中断和外部中断两类。内部中断(软件中断)包括象除法运算中遇到需要除以0时所产生的中断,或者程序中为了作某些处理而设置的中断指令等。外部中断(硬件中断)则主要处理I/O设备与CPU之间的通信。 当CPU响应一次中断时,也要和调用子程序时类似地把(IP)和(CS)保存入栈。除此之外,为了能全面地保存现场信息,以便在中断处理结束时返回现场,还需要把反映现场状态的(PSW)保存入栈,然后才能转到中断例行程序去执行。当然从中断返回时,除要恢复(IP)和(CS)外,还需要恢复(PSW)。 中断的过程 (1)中断指令: (2)溢出中断指令:INTO (3)从中断返回指令:IRET * ? 无条件转移指令 JMP ? 条件转移指令 JZ / JNZ 、 JE / JNE、 JS / JNS、 JO / JNO、 JP / JNP、 JB / JNB、 JL / JNL、 JBE / JNBE、 JLE / JNLE、 JCXZ ? 循环指令 LOOP、LOOPZ / LOOPE、LOOPNZ / LOOPNE ? 子程序调用和返回指令 CALL、RET ? 中断与中断返回指令 INT、INTO、IRET JMP(jmp) 跳转指令 无条件地转移到指令指定的地址去执行从该地址开始的指令。可以看出JMP指令必须指定转移的目标地址(或称转向地址)。 总的说来,转移可以分成两类:段内转移和段间转移。段内转移是指在同一代码段的范围之内进行转移,此时只需改变IP寄存器的内容,即用新的转移目标地址代替原有的IP的值就可达到转移的目的。段间转移则是要转到另一个代码段去执行程序,此时不仅要修改IP寄存器的内容,还需要修改CS寄存器的内容才能达到目的,因此,此时的转移目标地址应由新的段地址和偏移地址两部分组成。 无条件转移指令的格式及执行的操作: 段内直接短转移:JMP SHORT OPR(例) 执行操作:(IP) ← (IP) + 8位位移量 段内直接近转移:JMP NEAR PTR OPR 执行操作:(IP) ← (IP) + 16位位移量 段内间接转移: JMP WORD PTR OPR 执行操作: (IP) ← (EA) 段间直接远转移:JMP FAR PTR OPR(例) 执行操作:(IP) ← OPR 的段内偏移地址 (CS) ← OPR 所在段的段地址 段间间接转移: JMP DWORD PTR OPR 执行操作: (IP) ← (EA) (CS) ← (EA+2) 说明: JMP指令不影响条件标志位。 条件转移指令根据上一条指令所设置的条件码来判别测试条件,每一种条件转移指令有它的测试条件,满足测试条件则转移到由指令指出的转向地址去执行那里的程序;如不满足条件则顺序执行下一条指令。因此, 当满足条件时: (IP)

文档评论(0)

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

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

1亿VIP精品文档

相关文档