- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8086控制转移类指令的
五、控制转移类指令 能够使程序的执行流程发生改变的指令 1.无条件转移 JMP 转移指令 只要执行无条件转移指令JMP,就使程序转移到指定的目标地址,从目标地址处开始执行指令。 操作:有以下几种类型 ⑴ 段内直接短转移 JMP SHORT opr ;(IP)←(IP) + Data8 Data8是一个字节的补码数 范围:-128~+127 ⑵ 段内直接近转移 JMP NEAR PTR opr (IP)←(IP) + Data16 Data16是两个字节的补码数 范围:-32768~+32767 ⑶ 段内间接转移 JMP WORD PTR opr (IP)←寄存器或存储器操作数 ⑷ 段间直接转移 JMP FAR PTR opr 指令中用立即数的形式指出目标位置的段地址和偏移量 ⑸ 段间间接转移 JMP DWORD PTR opr 目标位置的段地址和偏移量保存在存储器中 说明: ① 在汇编语言中通常使用标号表示要转移到的位置。 ② 在DEBUG环境中通常使用直接指出的是将要转移到的位置。 ③ 使用该指令,可以使程序流程改变到任何目标位置。 2.条件转移 根据判断条件是否成立决定是否转移。按照判断条件的不同分为以下类型:单个标志、无符号数判断、有符号数判断、CX寄存器。 条件转移都是段内直接短转移,即(IP)=(IP)+Data8类型的转移。 ⑴ 判断单个标志 ZF: JZ(JE), JNZ(JNE) SF: JS, JNS OF: JO, JNO PF: JP, JNP CF: JC, JNC ⑵ 判断无符号数的大小 助记符中的意义: A:大于,B:小于,E:等于 JB(JNAE),JNB(JAE)同JC,JNC, JBE(JNA),JNBE(JA): 判断CF and ZF ⑶ 判断有符号数的大小 助记符中的意义: G:大于,L:小于,E:等于 JL(JNGE): SF xor OF = 1 JNL(JGE): SF xor OF = 0 JLE(JNG):(SF xor OF) and ZF = 1 JNLE(JG):(SF xor OF) and ZF = 0 ⑷ 判断CX寄存器 JCXZ: CX=0 3.循环 循环指令的转移也都是段内直接短转移,即(IP)←(IP)+Data8类型的转移。 LOOP 循环 判断CX是否等于零,不等于零则循环 LOOPZ(LOOPE) 当为零或相等时循环 判断CX是否等于零,不等于零且ZF=1则循环 LOOPNZ(LOOPNE) 当不为零或不相等时循环 判断CX是否等于零,不等于零且ZF=0则循环 操作: ① CX ←CX-1 ② 根据判断结果确定是否循环 说明: ① 循环指令不影响状态标志。 ② 如果目标位置的位移量超出Data8所能够表示的范围,则需要用JMP辅助来完成循环。 4.子程序调用 CALL 子程序调用指令 用法:CALL dst 说明:由编译程序自动匹配为某种寻址方式 RET 子程序返回指令 用法:RET 段内返回:IP ←[SP], SP ←SP + 2 段间返回:IP ←[SP], SP ←SP + 2, CS ←[SP], SP ←SP + 2 编译程序自动匹配为段内或段间的返回 RET Data16 在RET的基础上,把SP再加上一个字数据: SP ←SP + Data16 六、处理器控制指令 1. 标志处理指令 CLC 对CF清零, CF ← 0 STC 对CF置位, CF ← 1 CMC 对CF取反,CF← CF CLD 对DF清零,DF ← 0 STD 对DF置位,DF ← 1 CLI 对IF清零,IF ← 0 STI 对IF置位,IF ← 1 2. 外部同步指令 HLT (Halt) 停机 处理器停止工作,等到外部中断到来,中断结束后继续向下执行。 WAIT (Wait) 等待 处理器处于等待状态,等到外部的TEST引脚上的低电平到来。 ESC (Escape) 换码 该指令是一个交权的指令前缀,把指令给协处理处理。 一般和WAIT指令一起使用,通过TEST引脚和协处理器同步。 LOCK (Lock) 封锁 该指令是一个前缀,使得使用此前缀的指令执行时一直维持总线封锁状态。 * 第4章 80x86指令系统 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose P
您可能关注的文档
最近下载
- 第5 2课《学习工匠事迹,领略工匠风采》(课件)-【中职专用】高二语文同步精品课件(高教版2023·职业模块).pptx VIP
- 贵州省2024年高考物理试题(附答案解析).pdf VIP
- 污水处理初级工考试考点巩固(题库版).docx VIP
- 人工智能在教育评估中的应用与突破.pptx VIP
- (人教版2024新教材)七年级英语上册Unit 4全单元教学设计.docx
- 基于“教—学—评”一体化的初中历史单元教学策略——以“春秋战国.pptx VIP
- 美卓 破碎机 c系列培训手册.pdf
- GBT3091-2015 低压流体输送用焊接钢管.pdf
- AT自动变速箱的结构及工作原理.doc
- 2025年无锡苏南国际机场集团有限公司校园招聘笔试模拟试题及答案解析.docx
文档评论(0)