计算机基础第3章_7+控制转移详解.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文档。上传文档
查看更多
程序控制指令用来控制程序的执行顺序,用于实现分支、循环、过程调用/返回、中断调用/返回等程序结构 CS:IP总是指向下一条即将执行的指令的地址,通过改变IP和CS的值,可以改变程序的执行顺序,但程序中不能使用MOV指令直接改变CS和IP的值,只能通过程序控制指令实现 段间转移 段内转移 同时改变CS和IP的值,又称远转移,目标属性为FAR。可转移到1MB地址空间的任一位置 只改变IP的值,不改变CS的值,又称近转移/短转移,目标属性为NEAR/SHORT,只能在代码段内转移 近转移 短转移 转移距离用1个字表达,转移范围为代码段内相对当前指令地址-32768~+32767,转移类型为NEAR PTR 转移距离用1个字节表达,转移范围为代码段内相对当前指令地址-128~+127,转移类型为SHORT 转移类型 实际编程时,汇编程序会根据目标地址的属性,自动处理成短转移、近转移或远转移。 程序员可用操作符short、near ptr 或far ptr 强制成为需要的转移类型。 直接转移:在转移指令中直接指明目标地址 间接转移:转移的目标地址间接存储于某寄存器或存储器单元中 相对转移:把当前的IP值增加或减少某一个值,也就是以当前指令为中心往前或往后转移一个距离(位移量) 绝对转移:以新的值完全代替当前的IP值或CS:IP值 所有段内直接转移都是相对转移 所有段内间接转移都是绝对转移 所有段间转移都是绝对转移 转移类指令的目标地址通常采用标号,由汇编程序自动计算目标地址 无条件转移指令(3条) 1、无条件转移指令 JMP(JuMP) 格式:JMP d 功能:程序无条件转移到目标地址d去执行 说明:目标地址d常常用标号表示,标号是目标地址的符号表示。有6种目标地址寻址方式。 ① 段内直接转移(短转移):是相对转移,位移量在指令中占1个字节,转移范围不超过-128~+127字节。 格式: JMP SHORT 标号 JMP 标号(汇编程序自动计算转移距离生成短转移指令) 操作: IP←IP+2 ± 位移量(8位) 【例】 JMP START或JMP SHORT START ;IP←IP+2 + START ② 段内直接转移(近转移):是相对转移,位移量在指令中占2个字节,转移范围是段内任何地方(-32768~+32767)。 格式: JMP 有效地址EA JMP NEAR PTR 标号 JMP 标号(汇编程序自动计算转移距离生成近转移指令) 操作: IP←有效地址EA IP←IP ± 位移量(16位) 【例】 JMP START或JMP NEAR PTR START;IP←IP ± START JMP 2000H ;IP←2000H ③ 段内间接转移(寄存器间接):是绝对转移,目标地址在16位的通用寄存器中,转移范围是段内任何地方(0~65535)。 格式: JMP r16 操作: IP←r16 【例】 JMP SI ;IP←SI ④ 段内间接转移(存储器间接):是绝对转移,目标地址在存储器中占2个字节,转移范围是段内任何地方(0~65535)。 格式: JMP WORD PTR [mem] 操作: IP←[mem]16 说明: 段寄存器搭配关系同寻址方式,即BP同SS搭配,其它均同DS搭配。 【例】 JMP WORD PTR[1000H] ;IP←DS:[1000H] JMP WORD PTR[SI] ;IP←DS:[SI] JMP WORD PTR[BP] ;IP←SS:[BP] ⑤ 段间直接转移(远转移):是绝对转移,目标地址在指令中占4个字节(2字节IP,2字节CS),转移范围是存储器任何地方。 格式: JMP 逻辑地址 JMP FAR PTR 标号 操作: IP←目标地址的2字节偏移地址,CS←目标地址的2字节段地址 【例】 JMP FAR PTR pnt ; JMP 2000H:3000H ;CS←2000H,IP←3000H ⑥ 段间间接转移(存储器间接):是绝对转移,目标地址在存储器中占4个字节(2字节IP,2字节CS),转移范围是存储器任何地方。 格式: JMP DWORD PTR [mem] 操作: IP←[mem]16,CS←[mem+2]16 说明: 段寄存器搭配关系同寻址方式,即BP同SS搭配,其它均同DS搭配。 【例】 JMP DWORD PTR[1000H];IP←DS:[1000H],CS←DS:[1002H] JMP DWORD PTR[SI] ;IP←DS:[SI],CS←DS:[SI+2] JMP DWORD PTR[BP] ;IP←SS:[BP],CS←SS:[BP+2] 2、

文档评论(0)

我是兰花草 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档