X86 Jmp Opcode File

0x66 0xEB 0x00 – The 0x66 applies to no operand, but some disassemblers will misinterpret.

The JMP instruction comes in three flavors based on the destination distance: x86 jmp opcode

Before diving into hex bytes, let's define the problem. The x86 CPU maintains an instruction pointer ( EIP in 32-bit, RIP in 64-bit, IP in 16-bit). By default, after executing an instruction, the CPU adds the length of that instruction to the pointer, moving to the next sequential address. 0x66 0xEB 0x00 – The 0x66 applies to

jmp next db 0xE8 ; fake CALL opcode to confuse disassemblers next: ... RIP in 64-bit