A program I'm investigating has the following code (disassembled by IDA with some light censorship by me):
__text:....B9 call <redacted>
__text:....BE nop
__text:....BF nop dword ptr [rax+00h]
I have two questions. First, why would the compiler have inserted these nop
s? They don't appear to be for any alignment purpose.
Second, what is that nop
with a relative addressing argument? Its hex is 0F 1F 40 00
. Looking at http://ref.x86asm.net/, this does appear to be an instruction called "hintable NOP", but I'm having trouble finding relevant information about it.
By the way, the next instruction starts at ....C3
and is a real/productive instruction (that is, not a nop
or anything morally equivalent to a nop
).