jnz指令和jne指令区别
2017-10-06 13:02
134 查看
书中127页有这么一段,
最后一句的jnz完全可以用jne代替, 那jnz/jne, jz/je区别到底是什么呢? 刚想到这个问题时候我有点懵, 明明都是由ZF标志位决定的啊, 有啥不一样啊QAQ
jnz指令, if(ZF!=0)则跳转, 在跳转指令上一句是cmp指令时, 完全可以用jne代替. 两者都是根据ZF标志位决定是否跳转的. 所以说这两条指令完全没区别! 它们对应于完全相同的机器代码,所以它们做的完全一样,他们只是有不同的助记符。stackoverflow.com的解答
但是在使用时, 还是应该根据指令的逻辑意义决定使用哪一条, 这样更有利于理解.
mov dx,0x1f7 .waits: in al,dx and al,0x88 cmp al,0x08 jnz .waits
最后一句的jnz完全可以用jne代替, 那jnz/jne, jz/je区别到底是什么呢? 刚想到这个问题时候我有点懵, 明明都是由ZF标志位决定的啊, 有啥不一样啊QAQ
jnz指令, if(ZF!=0)则跳转, 在跳转指令上一句是cmp指令时, 完全可以用jne代替. 两者都是根据ZF标志位决定是否跳转的. 所以说这两条指令完全没区别! 它们对应于完全相同的机器代码,所以它们做的完全一样,他们只是有不同的助记符。stackoverflow.com的解答
但是在使用时, 还是应该根据指令的逻辑意义决定使用哪一条, 这样更有利于理解.
相关文章推荐
- java中include动作和include指令的区别
- ARM平台下bl和ldr指令的区别
- JSP中include指令和include行为的区别
- LDR伪指令LDR数据传送指令的区别
- win32汇编中伪指令addr和offset指令的区别
- [ARM]ldr和 adr/adrl 伪指令的区别
- nginx的root和alias指令的区别
- jsp之Include动态指令和静态指令的区别
- LDR指令和LDR伪指令区别
- jsp中include指令静态导入和动态导入的区别详解
- jsp中include指令静态导入和动态导入的区别详解
- angular 指令@、=、&的用法和区别
- JSP指令include和JSP动作元素include的区别
- 汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL、JNL、JNG、JG、JCXZ、JECXZ、JMP、JMPE
- 关于C99标准在keilMDK中实验引发的,ADR指令认识,ARM寄存器之R12,及C89,C90,C95,C99标准的区别
- ARM指令中4条容易混淆的指令区别
- JSP:include指令与include动作的区别
- JSP中include指令和include行为的区别
- ARM指令 LDR 和 ADR的一些区别
- 指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL