- 1、本文档共100页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03_8086指令系统概论
二. 条件转移指令 条件转移指令共有18条,这些指令将根据CPU执行上一条指令时,某一个或某几个标志位的状态而决定是否控制程序转移。 如果满足指令中所要求的条件,则产生转移; 否则,将继续往下执行紧接着条件转移指令后面的一条指令。 为缩短指令长度,所有的条件转移指令都被设计成短转移,即转移目标与本指令之间的字节距离在-128~+127范围以内。 对无符号数和有符号数的条件转移指令 类别 指令助记符 测试条件 指令功能 无符号数 测试比较 JA/JNBE 目标标号 JAE/JNB 目标标号 JB/JNAE 目标标号 JBE/JNA 目标标号 CF∧ZF=0 CF=0 CF=1 CF∧ZF=1 高于/不低于则转移 高于等于/不低于则转移 低于/不高于等于则转移 低于等于/不高于则转移 有符号数 测试比较 JG/JNLE 目标标号 JGE/JNL 目标标号 JL/JNGE 目标标号 JLE/JNG 目标标号 (SF⊕OF) ∧ZF=0 SF⊕OF=0 SF⊕OF=1 (SF⊕OF) ∧ZF=1 大于/不小于等于则转移 大于等于/不小于则转移 小于/不大于等于则转移 小于等于/不大于则转移 单标志转移指令 指令助记符 测试条件 指令功能 JC 目标标号 JNC 目标标号 JZ/JE 目标标号 JNZ/JNE 目标标号 JS 目标标号 JNS 目标标号 JO 目标标号 JNO 目标标号 JP/JPE 目标标号 JNP/JPO 目标标号 CF=1 CF=0 ZF=1 ZF=0 SF=1 SF=0 OF=1 OF=0 PF=1 PF=0 有进位则转移 无进位则转移 结果为0/相等则转移 结果不为0/不相等则转移 符号为负则转移 符号为正则转移 溢出则转移 不溢出则转移 奇偶位为1/为偶则转移 奇偶位为0/为奇则转移 注意 所有条件转移指令都是相对转移形式,其转移范围-128B~+127B。 当需要转移到较远目标地址时,可先用条件转移指令转到附近一个单元,该单元事先放一条无条件转移指令,可通过该指令转移到较远的目标地址去。 为无符号数和有符号数提供了两组不同的条件转移指令。 有一部分转移指令可用两种不同助记符表示,其功能相同,如数M高于数N=M不低于也不等于N,所以JA与JNBE功能相同。 条件转移指令的使用 条件转移指令前面常有TEST指令 例:AX中存放的无符号数,若为偶数,则直接除以2;若为奇数,则加1再除以2。编程实现该功能。 TEST AX, 01H ;最低位与1相与,判断奇偶性 JZ EVEN ;ZF=0,为偶数,则转到EVEN ADD AX,1 ;否则为奇数,需要加1 EVEN: SHR AX,1 ;除以2 三. 循环控制指令 在设计循环程序时,可以用循环控制指令来实现。 循环控制指令实际上是一组增强型的条件转移指令, 它也是根据测试状态标志判定是否满足条件而控制转移。所不同的是,前述的条件转移指令只能测试由执行前面指令所设置的标志,而循环控制指令是自己进行某种运算后来设置状态标志的。 循环控制指令共有4条,都与CX寄存器配合使用,CX中存放着循环次数,使用这些指令之前都要把循环次数存入CX。 这些指令所控制的目标地址的范围都在-128~+127字节之内。 1. LOOP 目标标号 功能是先将CX减1后送回CX,再判断CX是否为0, 若CX≠0,则转移到目标标号所给定的地址继续循环; 否则,结束循环,顺序执行下一条指令。 使用LOOP指令前,应将循环次数送入CX寄存器。其操作过程与条件转移指令类似,只是它的位移量应为负值。 2. JCXZ 目标标号 指令不对CX寄存器内容进行操作,只根据CX内容控制转移。它既是一条条件转移指令,也可用来控制循环,但循环控制条件与LOOP指令相反,即CX=0则转移。 3. LOOPE/LOOPZ 目标标号 LOOPE和LOOPZ是同一条指令的两种不同的助记符,其指令功能是先将CX减1送CX,若ZF=1且CX≠0时则循环,否则顺序执行下一条指令。 4. LOOPNE/LOOPNZ 目标标号 LOOPNE和LOOPNZ也是同一指令的两种不同的助记符, 其指令功能是先将CX减1送CX,再判断: 若ZF=0且CX≠0时则循环; 否则顺序执行下一条指令。 循环控制指令在使用时放在循环程序的开头或结尾处,以控制循环程序的运行。 例:若在存储器的数据段中有100个字节构成的数组,要求从该数组中找出“$”字符,然后将“$”字符前面的所有元素相加,结果保留在AL寄存器中。 MOV CX,100 ;100个字
您可能关注的文档
- 大数据在网络安全中的应用讲解.ppt
- 02维修电工概论.ppt
- 03.单链表概论.ppt
- 大唐国际发电股份有限公司化工安全性评价标准(2014版)讲解.doc
- 03-画法几何及工程制图-第3章-投影变换概论.ppt
- 大体积砼施工技术交底讲解.ppt
- 大型分布式网站架构技术简介讲解.ppt
- 大型离心机组润滑系统抗晃电措施讲解.doc
- 大型汽轮机电液调速系统讲解讲解.ppt
- 大型设备技术经济档案(主井2015.12.20)讲解.doc
- 2025年贵州工业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年西昌民族幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年西藏警官高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年贵州工商职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工商职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州农业职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年许昌职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年许昌职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
文档评论(0)