<<< Opcode Design Trade-offs | Index | The MOV Instruction >>> |
Advances in computer architecture technology since 1978 made encoding of x86 instructions quite complex and somewhat illogical.
Despite the lack of simplicity, x86 ISA well deserves studying its design and encoding.
To cope with x86 complexity, let's pretend that we deal with a simplified version of the CPU:
there are only four 16-bit registers: AX, BX, CX, and DX
(therefore, register operands can be encoded with just two bits.)
the address bus is 16-bit with a maximum of 65,536 bytes of addressable memory.
there are only 20 instructions:
MOV (with two forms), ADD, SUB, CMP, AND, OR, NOT,
JE, JNE, JB, JBE, JA, JAE, JMP,
BRK, IRET, HALT, GET, and PUT.
<<< Opcode Design Trade-offs | Index | The MOV Instruction >>> |