XCHG is mis-decoded as NOP
Created by: dvyukov
Decoding this byte sequence:
echo -en "\x66\x41\x90" > /tmp/bin | objdump -mi386 -Mx86-64 -b binary -D /tmp/bin
0: 66 41 90 xchg %ax,%r8w
objdump correctly says it's an XCHG. While DynamoRIO decodes it as just nop
.
There are several 90
encodings that are XCHG rather than NOP:
90+rw XCHG AX, r16 Exchange r16 with AX.
90+rw XCHG r16, AX Exchange AX with r16.
90+rd XCHG EAX, r32 Exchange r32 with EAX.
On commit 6e887383.