微机原理与接口技术课件岳爱菊 ISBN9787811349429PPT第5章 指令系统与寻址方式.ppt

微机原理与接口技术课件岳爱菊 ISBN9787811349429PPT第5章 指令系统与寻址方式.ppt

  1. 1、本文档共150页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 指令系统与寻址方式 5.1 指令格式及操作数类型 5.2 寻址方式 5.3 Intel 8086的指令系统 5.1 指令格式及操作数类型 5.2 寻址方式 5.3 Intel 8086的指令系统 5.3.4 控制转移指令 控制转移指令通过改变CS和IP的值来控制程序执行指令的顺序。通过控制转移指令可实现结构化程序设计,如分支结构、循环结构等。有段内转移和段间转移两种情况,计算机总是按照CS×10H+IP的值这个物理地址去取指令,只要改变了CS和IP的值,程序的执行方向就会发生改变。段内转移因目标指令与当前指令在同一个段内,CS的值保持不变,只修改IP的值即可;而段间转移因目标指令与当前指令不在同一个段内,其CS和IP的值均有变化。因此确定目标指令的地址(CS:IP)便成为转移指令的一个重要问题,8086/8088系统提供了以下几种转移指令的寻址方式。 1. 指令寻址方式 控制转移指令在段内、段间转移时,使用直接(相对)寻址或间接寻址方式。 ⑴直接寻址方式 段内直接寻址方式是目标程序和源程序在同一个程序段内,只给出源指令地址和目标指令地址的差值,此差值是偏移量,它是一个以IP为基准的8位或16位的带符号补码数。 段间直接寻址方式直接给出转移目标地址的段地址和段内位移量,用前者取代CS寄存器当前的值,用后者取代IP中当前的值,使程序从一个代码段转移到另一个代码段。 ⑵间接寻址方式 段内间接寻址方式,指令转移的有效地址存在一个寄存器或存储器单元中,用它取代当前IP的值,实现程序转移。 段间间接寻址方式,指令给出一个存储器地址,从该地址开始的4个字节单元中存放转移目标地址的段内偏移量和段基址,这两个地址在指令执行时用于取代当前的IP和CS的内容,使程序从一个代码段转移到另一个代码段。 2. 无条件转移指令 无条件转移指令不需要任何判断条件,就可以实现段内和段间的程序转移。此转移指令不影响状态标志位。 ⑴段内转移 段内转移只修改IP的值,段寄存器CS的值不变。 ①段内直接短转移 JMP SHORT OPR;(IP)←(IP)+8位位移量 段内直接转移目的地址为“SHORT”类型时为短转移,位移量是一个8位带符号补码数,转移范围是-128至+127;当目的地址高于源地址时称为正向转移,位移量是正数;当转移目的地址低于源地址时称为反向转移,位移量是负数。 [例5.52] JMP LP ...... LP: 设上述JMP指令的逻辑地址、机器码、反汇编指令如下: 0718:0010 EB0F JMP 021h 从上述条件中可知当前指令的IP地址为0010H,转移目的IP地址为0021H,他是下一条指令的IP地址0012H与机器码中的相对量0FH的和。 ②段内直接近转移 JMP NEAR PTR OPR;(IP)←(IP)+16位位移量 段内直接转移目的地址为“NEAR”类型时为近转移,位移量是一个16位带符号补码数,转移范围是-32768至+32767。 [例5.53] 设JMP指令的逻辑地址、机器码、反汇编指令如下: 从上述条件中可知当前指令的IP地址为0010H,转移目的IP地址为2000H,他是下一条指令的IP地址0013H与机器码中的相对量1FEDH的和。 ③段内间接转移 JMP REG ;REG为间址寄存器 JMP WORD PTR OPR ;IP←(EA),WORD PTR是属性运算符。 [例5.54]设段内间接转移JMP BX 指令执行前的单步执行状态如下: AX=0000 BX=0024 CX=00F8 DX=0000 SP=0064 BP=0000 SI=0000 DI=0000 DS=0717 ES=0700 SS=0710 CS=0718 IP=0013 NV UP EI PL NZ NA PO NC 0718:0013 FFE3 JMP BX 从上述条件中可知当前指令的IP地址为0013H,转移目的IP地址为0024H,他是BX寄存器的值。 [例5.55]设段内间接转移JMP [BX] 指令执行前的单步执行状态和数据段图5.32如下: AX=0004 BX=0002 CX=00FE DX=0000 SP=

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档