汇编语言指令集学习条件转移指令详解

这篇文章主要为大家介绍了汇编语言指令集学习条件转移的指令全面总结详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

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

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

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

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

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

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

指令英文含义格式测试条件等价于
JL/JNGEjump if less、not greater/equal小于、不大于/不等于则转移JL/JNGE OPRSF异或CF=1<
JNL/JGEjump if not less、greater/equal不小于、大于/等于则转移JNL/JGE OPRSF异或CF=0
JLE/JNGjump if less/equal、not greater小于/等于、不大于则转移JLE/JNG OPR(SF异或CF)并ZF=1
JNLE/JGjump 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

以上就是汇编语言指令集学习条件转移指令详解的详细内容,更多关于汇编语言条件转移指令的资料请关注0133技术站其它相关文章!

以上就是汇编语言指令集学习条件转移指令详解的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 汇编语言