微机原理3-3指令系统Ⅴ控制转移.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
注解: 由于子程可能与主程序同在一个段内,也可能不同在一个段内,与JMP指令类似,调用指令也分如下四种: ①段内直接调用 例: CALL 0120H ;调用地址由指令给出. 执行的操作为: ((SP)-1:(SP)-2)←(IP) ;IP压栈 (SP)←(SP)-2 ;修改SP (IP)←(IP)+偏移量 ;修改IP ②段内间接调用 例:CALL AX;调用地址由AX给出. CALL [SI];调用地址由存储器给出. 指令的操作为: ((SP)-1:(SP)-2)←(IP) (SP)←(SP)-2 (IP)←(reg16)/(mem16) ③段间直接调用 例:CALL 2000H:1000H 指令的操作为:先CS后IP ((SP)-1,(SP)-2)←(CS) ;CS压栈 (SP)←(SP)-2 ;修改SP (CS)←段地址 ;(CS)←给定段地址 ((SP)-1,(SP)-2)←(IP) ;IP压栈 (SP)←(SP)-2 ;修改SP (IP)←偏移地址 ; (IP)←给定偏址 微机原理与接口技术 第3章 指令系统 Ⅴ ? 第二部分 8086/8088指令系统 四. 程序控制转移指令 程序控制转移类指令用来控制程序的执行顺序。程序的执行顺序是由CS和IP确定的 (一)无条件转移指令 JMP (二)条件转移指令 (三)循环控制指令 (四)子程序调用与返回指令 (五)中断指令 (一) 无条件转移指令JMP 格式: JMP OPRD 功能: 若OPRD为16位数,则IP?OPRD,实现段内转移; 若OPRD为32位数,则IP?OPRD低16, CS?OPRD高16,段间转移。 注解: (1)OPRD常是标号Lable,即某条指令的符号地址。 先定义标号,后引用,为“向后引用”; 先引用标号,后定义,为“向前引用”。 (2)该指令有如下5种形式: ①、JMP SHORT Lable ;段内短转移 SHORT为短转移运算符(可以省略),标号为短标号8bit,范围不超过-128~+127。 执行:IP?OFFSET 标号Lable,CS不变。 ②、JMP NEAR PTR Lable;段内直接转移 NEAR PTR为近距离属性运算符,标号是近标号16bit。范围不超过-32768~+32767。 执行:IP?OFFSET 标号Lable,CS不变。 ③、JMP R16 /MEM16;段内间接转移 OPRD是16bit的寄存器或者存储器地址。范围是段内任何地方。 执行:IP?(R16),CS内容不变。 ④、JMP FAR PTR Lable ;段间直接转移 FAR Lable是远距离属性运算符,Lable是远标号,在另一个代码段内。 执行:IP?OFFSET Lable,CS ? SEG Lable。 ⑤、JMP MEM32:段间间接转移 MEM32为双字单元的存储器地址,不能够用Reg替代。转移范围可达1MB。 执行:IP?(MEM低16,前2字节),CS?(MEM高16,后2字节)。 例: JMP SHORT Again ;段内短转移 JMP NEAR PTR Begin ;段内直接转移 JMP WORD PTR [BP] [DI] ;段内间接转移 JMP BX ;段内间接转移 JMP FAR PTR Next ;段间直接转移 JMP DWORD PTR [BX] [DI] ;段间间接转移 第二部分 8086/8088指令系统 四. 程序控制转移指令 (一)无条件转移指令JMP (二)条件转移指令19条 1、基于算术标志位的的条件转移指令10条 JC/JNC JO/JNO JS/JNS JE/JNE(JZ/JNZ) JP/JNP(JPE/JPO) 2、基于无符号数的条件转移指令4条

文档评论(0)

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

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

1亿VIP精品文档

相关文档