【发布时间】:2013-06-06 12:22:20
【问题描述】:
为什么 x86 中的 nopl 指令采用操作数?不要nops只是做,好吧,什么都不做?
nopl 0x0(%rax)
【问题讨论】:
-
你可以用一个论点“什么都不做”,对吧?
90 nop也有论据,真的是xchg eax, eax。 -
我问是因为我使用的反编译器将其分类为分支指令。为什么会发生这种情况?
-
它有点像一小部分数据(编码参数的字节)上的分支,它有时用于此目的 - 有效地跳过一些由于某种原因必须存在的数据(丑陋的 hack IMO 但是嘿..),所以你可以把它看作一个分支
-
必须存在哪些数据?操作数?
-
supercat 举例说明了这些数据的用途
标签: assembly x86 x86-64 instructions nop