NOP会影响Intel x86架构中的状态寄存器吗?

时间:2014-02-21 08:31:53

标签: assembly x86

我最近注意到英特尔x86程序集中的NOP指令实际上与XCHG EAX, EAX相同

通过更改状态寄存器会不会带来意外结果?< br />例如,如果EAX最初为零,那么FLAG寄存器的第六位(零位)将在NOP之后设置。

那么在我的代码中使用NOP是如何安全的?

2 个答案:

答案 0 :(得分:3)

NOP(或XCHG或MOV)不会更改x86架构中的FLAGS寄存器。使用NOP总是安全的。 (它可能有什么不同?)

答案 1 :(得分:3)

A random x86 reference通过声明XCHG指令轻松解释了这一点:

  

受影响的旗帜