JE/JNE 和 JZ/JNZ 之间的区别

2024-06-24

在 x86 汇编代码中,有JE and JNE完全一样JZ and JNZ?


JE and JZ只是完全相同的事物的不同名称: 条件跳转时ZF(“零”标志)等于 1。

(相似地,JNE and JNZ只是条件跳转的不同名称 什么时候ZF等于 0。)

You could可以互换使用它们,但是你should使用它们取决于 你在做什么:

  • JZ/JNZ当您明确测试时更合适 对于等于零的东西:

    dec  ecx
    jz   counter_is_now_zero
    
  • JE and JNE后更合适CMP操作说明:

    cmp  edx, 42
    je   the_answer_is_42
    

    (A CMP指令执行减法,并丢弃结果的值,同时保留标志;这就是为什么你得到ZF=1当操作数相等时 和ZF=0当他们不在的时候。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JE/JNE 和 JZ/JNZ 之间的区别 的相关文章

随机推荐