汇编语言指令集之条件转移指令实现

时间:2021-05-19

条件转移指令较多,容易混淆,在此记录一下便于日后使用

 1. 根据单个条件标志的设置情况转移

指令 英文 含义 格式 测试条件 JZ/JE jump if zero/equal 结果为零/相等则转移 JZ/JE OPR ZF=1 JNZ/JNE jump if not zero/equal 结果不为零/不相等则转移 JNZ/JNE OPR ZF=0 JS jump if sign 结果为负则转移 JS OPR SF=1 JNS jump if not sign 结果为正则转移 JNS OPR SF=0 JO jump if overflow 溢出则转移 JO OPR OF=1 JNO jump if not overflow 不溢出则转移 JNO OPR OF=0 JP/JPE jump if parity/parity even 奇偶位为1则转移 JP/JPE OPR PF=1 JNP/JNPE jump if not parity/parity even 奇偶位为0则转移 JNP/JNPE OPR PF=0 JB/JNAE/JC jump if below/not above、not equal/carry 低于/不高于或不等于/进位为1则转移 JB/JNAE/JC OPR CF=1 JNB/JAE/JNC jump if not below/ above、equal/not carry 不低于/高于或等于/进位为零则转移 JNB/JAE/JNC OPR CF=0 适用于测试某 一次运算的结果并根据其 不同特征产生程序分支 不同的处理的 情况

 2. 比较两个无符号数,并根据比较的结果转移

指令 英文 含义 格式 测试条件 等价于 JB/JNAE/JC jump if below/not above、not equal/carry 低于/不高于或不等于/进位为1则转移 JB/JNAE/JC OPR CF=1 < JNB/JAE/JNC jump if not below/ above、equal/not carry 不低于/高于或等于/进位为零则转移 JNB/JAE/JNC OPR CF=0 ≥ JBE/JNA jump if below/equal、not above 低于/等于、不高于则转移 JBE/JNA OPR CF并ZF=1 ≤ JNBE/JA jump if not below/not equal、above 不低于/不等于、高于则转移 JNBE/JA OPR CF并ZF=0 >

 3. 比较两个带符号数,并根据比较的结果转移

指令 英文 含义 格式 测试条件 等价于 JL/JNGE jump if less、not greater/equal 小于、不大于/不等于则转移 JL/JNGE OPR SF异或CF=1 < JNL/JGE jump if not less、greater/equal 不小于、大于/等于则转移 JNL/JGE OPR SF异或CF=0 ≥ JLE/JNG jump if less/equal、not greater 小于/等于、不大于则转移 JLE/JNG OPR (SF异或CF)并ZF=1 ≤ JNLE/JG jump if not less/not equal、 greater 不小于/不等于、大于则转移 JNLE/JG OPR (SF异或CF)并ZF=0 >

 4.测试CX或ECX的值为0则转移指令

1. LCXZ (jump if CX register is zero) CX寄存器的内容为零则转移
  格式:JCXZ OPR
  测试条件:(CX)=0
2. LECXZ (jump if ECX register is zero) ECX寄存器的内容为零则转移
  格式:JECXZ OPR  (386及其后继机型可用)
  测试条件:(ECX)=0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章