Where is it possible to find a list of x86 instructions (and x64 instructions) with the (hex) opcode and the length/size in bytes of the instructions, such as:
0x90
=NOP
= 1 byte0xE9
=JMP
= 5 bytes0x8B
=MOV
= 2 bytes0x55
=PUSH
= 1 byte0x6A
=PUSH
= 2 bytes0x68
=PUSH
= 5 bytes
Unsure if all of them are correct.
I've been using this wonderful list, to look through instructions and their opcodes, but it doesn't contain the full length/size in bytes of each opcode.
What confuses me a bit more, is how it at the beginning mentions "one-byte opcodes" and "two-byte opcodes". While the JMP
command would be 5 bytes (1 byte for JMP
command, 4 bytes for jump distance).
Edit
I don't specifically need a list per se. Overall I'm just searching for a way to deduce the length of instructions.
jmp
opcodes. That's why you have "short" jumps, for example (+/-127 Byte, IIRC). And those are not 5 Byte. Also, the opcode is usually consideredx
-Byte depending on the opcode, without the operands.jmp
in their mnemonic form. Also, do you actually need a list, or do you need simply a library/framework to decode opcodes properly?