3

I'm trying to Is there any good resource available to learn 'decoding' of i386 opcodes? Most of the websites talk about how to encode instructions, but I don't find anywhere something telling as to how to decode opcodes to instructions.

I've looked at the source code of some disassemblers, but I want some documentation as to how to decode opcodes to instructions.

Thanks and Regards,
Hrishikesh Murali

Hrishikesh Murali
  • 535
  • 3
  • 7
  • 16

2 Answers2

2

Read the processor manuals, they have it described, though maybe not in complete details:

  1. Intel Manuals, in particular see Chapter 2 in Volume 2A and Appendix A in Volume 2B.
  2. AMD Manuals, see Programmer's Manual Volume 3.

See also How to interpret the opcode manually?

Community
  • 1
  • 1
Igor Skochinsky
  • 24,629
  • 2
  • 72
  • 109
0

if you want to lean at a more programmatic level, olly's old disasm engine is a very simple disassembler to learn from (written in C), and if you want to cover the more recent opcodes (and hidden/aliased opcodes), bea-engine is a great open-source disassem engine.

Necrolis
  • 25,836
  • 3
  • 63
  • 101