计算机硬件第3章-5控制转移类指令.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文档。上传文档
查看更多
CopyRight2006 第三章 指令系统 之 控制转移类指令 3.3.5 程序控制转移类指令 控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变 控制转移类指令用于实现分支、循环、过程等程序结构,是仅次于传送指令的常用指令 重点掌握: JMP/Jcc/LOOP/JCXZ CALL/RET 目标地址的寻址方式 相对寻址方式 指令代码中提供目的地址相对于当前IP的位移量,转移到的目的地址(转移后的IP值)就是当前IP值加上位移量 直接寻址方式 指令代码中提供目的逻辑地址,转移后的CS和IP值直接来自指令操作码后的目的地址操作数 间接寻址方式 指令代码中指示寄存器或存储单元,目的地址从寄存器或存储单元中间接获得 目标地址的寻址范围:段内寻址 段内转移——近转移(near) 在当前代码段64KB范围内转移( ±32KB范围) 不需要更改CS段地址,只要改变IP偏移地址 段内转移——短转移(short) 转移范围可以用一个字节表达,在段内-128 +127范围的转移 目标地址的寻址范围:段间寻址 段间转移——远转移(far) 从当前代码段跳转到另一个代码段,可以在1MB范围 需要更改CS段地址和IP偏移地址 目标地址必须用一个32位数表达,叫做32位远指针,它就是逻辑地址 实际编程时,汇编程序会根据目标地址的属性,自动处理成短转移、近转移或远转移 程序员可用操作符short、near ptr 或far ptr 强制成为需要的转移类型 控制转移的类型 段内直接转移 ——相对转移 段内间接转移 ——绝对转移 段间转移 ——绝对转移 控制转移类指令 控制转移指令分为5类 1. 无条件转移 2. 调用与返回 3. 条件转移 4. 循环转移 5. 中断 一、 无条件转移指令 格式:JMP 目标标号 ;无条件转移到目标单元 ①指令标号—直接转移,段内/段间 ②REG—间接转移,段内 (16位通用) ③内存—间接转移,段内/段间 · 如目标单元在当前代码段内,只修改IP-段内转移 · 目标单元在其它代码段中,修改IP和CS-段间转移 1. 段内直接转移 ——转移的目标标号直接出现在指令中 格式:JMP DST ; IP←IP+disp(偏移量) 目标地址 可使用符号地址 disp=DST-JMP指令的下一条指令地址(IP) (补码) 1. 段内直接转移 ① 若偏移量disp为8位,转移范围(-128~+127) ——段内直接短转移 符号地址前加操作符SHORT 格式 :JMP SHORT DST ;IP←IP+disp8 ② 若偏移量disp为16位,转移范围为整个CS段内任一位置(+32KB)——段内直接近转移 符号地址前加操作符NEAR PTR 格式:JMP NEAR PTR DST ;IP←IP+disp16 可以省略 1. 段内直接转移 例1: JMP 2000H ;直接转移到2000H去执行指令 JMP SHORT LPI ;段内短转移,转向符号地址LPI处 JMP NEAR PTR next ;段内近转移,转向符号地址 next处 1. 段内直接转移 例2: …… JMP SHORT HELLO …… HELLO: …… 设JMP指令的当前地址为0100H,目标地址为010AH,则该指令的机器码为E908H。 8位位移量=010AH-0102H=08H 2. 段内间接转移 格式:JMP DST ; IP←(EA) 寄存器——IP←REG 内存单元——IP←(EA+1),(EA) 例:JMP BX JMP WORD PTR [BX+25H] 若(DS)=2000H,(BX)=0100H (20125H)=34H,(20126H)=12H 3. 段间直接转移 JMP FAR PTR

文档评论(0)

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

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

1亿VIP精品文档

相关文档