[工学]第4章 指令系统和寻址方式.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第4章 指令系统和寻址方式

4.2.5 程序控制指令 转移类指令可以间接改变CS与IP的值或仅改变IP的值,以改变指令执行的顺序。如果仅通过改变IP的值而改变了指令的执行顺序,这种方式叫做段内转移;如果同时改变了CS与IP的值而改变了指令的执行顺序,这种方式叫做段间转移。 1.无条件转移 无条件转移指令JMP分为段内转移和段间转移两种。 一般格式: JMP OPRD;OPRD是转移的目的地址。 (1)段内转移。段内转移实质是间接修改IP的内容,以达到程序运行转移的目的,转移形式有3种: ①段内短程转移: JMP DISP8;IP=IP+8位位移量 目的地址与JMP指令所处地址的距离应在-128~127范围之内。 ②段内近程直接转移: JMP DISP16;IP=IP+16位位移量 目的地址与JMP指令所处地址的距离应在-32768~32767范围之内。 ③段内近程间接转移: JMP REG/MEM;IP的内容由寄存器或存储单元内容提供 目的地址与JMP指令所处地址的距离应在-32768~32767范围之内。如:JMP AX (2)段间转移。段间转移的目的地址与JMP指令所在地址不在同一段内。段间转移实质是同时间接修改CS和IP的内容,以达到程序运行转移的目的,其主要的转移形式为2种: ①段间直接转移: JMP ADDR; 此指令的转移地址作为指令格式的一部分,由指令码的第2、3字节的内容送IP程序计数器;指令码的第4、5字节的内容送CS代码段寄存器。如:JMP 2500H:1000H ②段间间接转移: JMP MEM 该指令通过存储器间接寻址,根据寻址方式寻址存储器中的双字数据,指定的双字节的低字单元内容送IP,高字单元内容送CS。 2. 调用和返回指令 CALL指令用来调用一个过程或子程序。由于过程或子程序有段间(FAR)和段内(NEAR)调用之分,所以CALL指令也有FAR和NEAR之分。因此RET也分段间与段内返回两种。 调用指令一般格式为: (1)段内调用: CALL NEAR PTR OPRD; 执行的操作:SP=SP-2,将程序断点(IP内容)压入堆栈,同时修改IP内容以实现程序转移。当执行RET指令而返回时,从栈顶弹出一个字放入IP中,以实现程序调用的返回。 (2)段间调用:CALL FAR PTR OPRD; 执行的操作:SP=SP-2,将程序断点中的CS内容压入堆栈,SP=SP-2,将程序断点中的IP内容压入堆栈,同时修改CS和IP内容以实现程序转移。当执行RET指令而返回时,从栈顶弹出一个字(偏移地址)放入IP中,然后从堆栈中再弹出第二个字(段地址)放入CS中,作为段间返回地址以实现程序调用的返回。 返回指令格式有: RET:正常弹出断点。 RET n:正常弹出断点后,再从堆栈中弹出n个字节的数据,RET n指令要求n为偶数,当RET正常返回后,再做SP=SP+n操作。 3.条件转移指令 8086/8088指令系统中有19条不同的条件转移指令。它们根据标志寄存器中各标志位的状态,决定程序是否进行转移。条件转移指令的目的地址必须在现行的代码段(CS)内,并且以当前指针寄存器IP内容为基准,其位移必须在-128~+127的范围之内(即段内的短转移)。 指令格式:J×× OPRD 条件转移指令是根据两个数的比较结果或某些标志位的状态来决定转移的。 条件转移指令中还有一条针对CX内容检测的转移指令JCXZ,转移条件是CX=0。 4. 循环控制指令 对于需要重复进行的操作,微机系统可用循环程序结构来进行 5.中断和中断返回指令 8086/8088指令系统中包括中断调用指令INT n和中断返回指令IRET。有关这些指令将在后面章节介绍。 4.2.6 处理器控制指令 这一类指令用于对CPU进行控制,主要包括对CPU的标志寄存器的某些标志位的状态进行操作,以及CPU的暂停、等待、交权等操作。8086/8088CPU的指令系统的处理器控制类指令主要分为两类。 1. 标志设置指令 这类指令一共有7条,它们都是无操作数指令。操作的对象是隐含的标志寄存器的某一个标志位,能够直接操作的标志位有CF、DF和IF标志。 2. 其它处理机控制指令 (1)NOP无操作指令 汇编格式:NOP

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档