我最近注意到英特尔x86程序集中的NOP
指令实际上与XCHG EAX, EAX
相同
通过更改状态寄存器会不会带来意外结果?< br />例如,如果EAX
最初为零,那么FLAG
寄存器的第六位(零位)将在NOP
之后设置。
那么在我的代码中使用NOP
是如何安全的?
答案 0 :(得分:3)
NOP(或XCHG或MOV)不会更改x86架构中的FLAGS寄存器。使用NOP总是安全的。 (它可能有什么不同?)
答案 1 :(得分:3)
A random x86 reference通过声明XCHG
指令轻松解释了这一点:
受影响的旗帜
无