┌───────────────────────────────────────────────────────────────────────────┐
│ │
│ ───┬─── ┬ ┬ ┌────── │
│ │ │ │ │ │
│ │ │ │ │ │
│ │ ├─────┤ ├──── │
│ │ │ │ │ │
│ │ │ │ │ │
│ ┴ ┴ ┴ └────── │
│ │
│ │
│ ┌────── ┌───┐ ┌───┬───┐ ┌─────┐ ┬ ┌────── ───┬─── ┌────── │
│ │ ┌┘ └┐ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ ├─────┘ │ ├──── │ ├──── │
│ │ │ │ │ │ │ │ │ │ │ │ │
│ │ └┐ ┌┘ │ │ │ │ │ │ │ │ │
│ └────── └───┘ ┴ ┴ ┴ ┴ └────── └────── ┴ └────── │
│ │
│ │
│ ┌─────┐┌─────┐┌─────┐┌───── ┬ ┌─────┐┌─────┐ ┐ ┌─────┐┌───── │
│ │ ││ ││ ││ ┌┘ │ ││ │ │ │ ││ │
│ │ ││ ││ ││ ┌┘ │ ││ │ │ │ ││ │
│ ├─────┤│ │├─────┤├─────┐ ┌┘ ├─────┤│ │ │ ├─────┤├─────┐ │
│ │ ││ ││ ││ │ ┌┘ │ ││ │ │ │ ││ │ │
│ │ ││ ││ ││ │ ┌┘ │ ││ │ │ │ ││ │ │
│ └─────┘└─────┘└─────┘└─────┘ ┴ └─────┘└─────┘ ┴ └─────┘└─────┘ │
│ │
│ │
│ ┌───┐ ┌──── ┌──── ┌────── ┌──┬──┐ ┌────┐ ┬ ┬ ┬ │
│ ┌┘ └┐ ┌┘ ┌┘ │ │ │ │ │ └┐ │ │ │ │
│ │ │ └┐ └┐ │ │ │ │ │ ┌┘ │ │ │ │
│ ├─────┤ └───┐ └───┐ ├──── │ │ │ ├────┤ │ └──┬──┘ │
│ │ │ └┐ └┐ │ │ │ │ │ └┐ │ │ │
│ │ │ ┌┘ ┌┘ │ │ │ │ │ ┌┘ │ │ │
│ ┴ ┴ ────┘ ────┘ └────── ┴ ┴ ┴ └────┘ └────── ┴ │
│ │
│ │
│ ───┬─── ┌───┐ ┌────┐ ┬ ┌────── │
│ │ ┌┘ └┐ │ └┐ │ │ │
│ │ │ │ │ ┌┘ │ │ │
│ │ ├─────┤ ├────┤ │ ├──── │
│ │ │ │ │ └┐ │ │ │
│ │ │ │ │ ┌┘ │ │ │
│ ┴ ┴ ┴ └────┘ └────── └────── │
│ │
│ │
│ │
│ B y T e n i e R e m m e l │
└───────────────────────────────────────────────────────────────────────────┘
* EXPLANATION OF THE NOTATION USED IN THE HEX TABLE *
┌────────┬───────────────────────────────────────────────────────────┐
│Symbol │Explanation │
│ │ │
│r8 │Indicates a byte register operand │
│rm8 │Indicates a byte reg/mem operand │
│m8 │Indicates a byte memory operand │
│i8 │Indicates a byte immediate operand │
│r16 │Indicates a word register operand │
│rm16 │Indicates a word reg/mem operand │
│m16 │Indicates a word memory operand │
│i16 │Indicates a word immediate operand │
│rel8 │Indicates a byte relative offset operand (see 'cb') │
│rel16 │Indicates a word relative offset operand (see 'cw') │
│ptr16:16│Indicates an immediate far pointer operand (see 'cd') │
│m16:16 │Indicates a memory far pointer operand │
│m16&16 │Indicates two words in memory (for BOUND) │
├────────┼───────────────────────────────────────────────────────────┤
│/1 etc. │Indicates that the 'Reg' field of the RegInfo byte contains│
│ │this number as opcode information │
│+rb │Indicates that the 'Reg' value of the first byte register │
│ │operand is added to the opcode │
│+rw │Indicates that the 'Reg' value of the first word register │
│ │operand is added to the opcode │
│/r │Indicates a RegInfo byte (maps to register or memory │
│ │operands) │
│ib │Indicates a byte of data (maps to an i8 operand) │
│iw │Indicates a word of data (maps to an i16 operand) │
│cb │Indicates a relative offset from the next instruction for │
│ │JMP, CALL etc. (signed with segment wrap, one byte) │
│cw │Indicates a relative offset from the next instruction for │
│ │JMP, CALL etc. (unsigned with segment wrap, two bytes) │
│cd │Indicates an absolute far pointer for JMP, CALL etc. │
│ │(signed, four bytes) │
└────────┴───────────────────────────────────────────────────────────┘
Structure of the RegInfo byte:
┌──────┬─────┬─────────┐
Field │ Mode │ Reg │ Reg/Mem │
├──────┼─────┼─────────┤
Bits │ 7 6 │5 4 3│ 2 1 0 │
└──────┴─────┴─────────┘
┌───────────┬──┬──┬──┬──┬──┬──┬──┬──┐
│Byte regs: │AL│CL│DL│BL│AH│CH│DH│BH│
│Word regs: │AX│CX│DX│BX│SP│BP│SI│DI│
├───────────┼──┼──┼──┼──┼──┼──┼──┼──┤
│Reg value: │0 │1 │2 │3 │4 │5 │6 │7 │
└───────────┴──┴──┴──┴──┴──┴──┴──┴──┘
* EXPLANATION OF THE NOTATION USED IN THE OCTAL TABLE *
┌────────┬───────────────────────────────────────────────────────────┐
│Symbol │Explanation │
│ │ │
│r8 │Indicates a byte register operand │
│rm8 │Indicates a byte reg/mem operand │
│m8 │Indicates a byte memory operand │
│i8 │Indicates a byte immediate operand │
│r16 │Indicates a word register operand │
│rm16 │Indicates a word reg/mem operand │
│m16 │Indicates a word memory operand │
│i16 │Indicates a word immediate operand │
│rel8 │Indicates a byte relative offset operand (see 'cb') │
│rel16 │Indicates a word relative offset operand (see 'cw') │
│ptr16:16│Indicates an immediate far pointer operand (see 'cd') │
│m16:16 │Indicates a memory far pointer operand │
│m16&16 │Indicates two words in memory (for BOUND) │
├────────┼───────────────────────────────────────────────────────────┤
│ t │Indicates the 'Mode' field of the RegInfo byte, which is │
│ │2 bits and is always the first octal digit │
│ r │Indicates the 'Reg' field of the RegInfo byte, which is │
│ │3 bits and is the second octal digit (may not be present) │
│ m │Indicates the 'Reg/Mem' field of the RegInfo byte, which │
│ │is 3 bits and is the third octal digit │
│ib │Indicates a byte of data (maps to an i8 operand) │
│iw │Indicates a word of data (maps to an i16 operand) │
│cb │Indicates a relative offset from the next instruction for │
│ │JMP, CALL etc. (signed with segment wrap, one byte) │
│cw │Indicates a relative offset from the next instruction for │
│ │JMP, CALL etc. (unsigned with segment wrap, two bytes) │
│cd │Indicates an absolute far pointer for JMP, CALL etc. │
│ │(unsigned, four bytes) │
└────────┴───────────────────────────────────────────────────────────┘
Structure of the RegInfo byte:
┌──────┬─────┬─────────┐
Field │ Mode │ Reg │ Reg/Mem │
├──────┼─────┼─────────┤
Bits │ 7 6 │5 4 3│ 2 1 0 │
├──────┼─────┼─────────┤
Digit │ 1st │ 2nd │ 3rd │
└──────┴─────┴─────────┘
┌───────────┬──┬──┬──┬──┬──┬──┬──┬──┐
│Byte regs: │AL│CL│DL│BL│AH│CH│DH│BH│
│Word regs: │AX│CX│DX│BX│SP│BP│SI│DI│
├───────────┼──┼──┼──┼──┼──┼──┼──┼──┤
│Reg value: │0 │1 │2 │3 │4 │5 │6 │7 │
└───────────┴──┴──┴──┴──┴──┴──┴──┴──┘
┌────┬───────┬─────┬───────────────────────┐
│Mode│Reg/Mem│Octal│Meaning │
│ │ │ │ │
│ 00 │ 000 │ 0r0 │[BX + SI] │
│ │ 001 │ 0r1 │[BX + DI] │
│ │ 010 │ 0r2 │[BP + SI] │
│ │ 011 │ 0r3 │[BP + DI] │
│ │ 100 │ 0r4 │[SI] │
│ │ 101 │ 0r5 │[DI] │
│ │ 110 │ 0r6 │disp16 │
│ │ 111 │ 0r7 │[BX] │
│ │ │ │ │
├────┼───────┼─────┼───────────────────────┤
│ │ │ │ │
│ 01 │ 000 │ 1r0 │[BX + SI + disp8] │
│ │ 001 │ 1r1 │[BX + DI + disp8] │
│ │ 010 │ 1r2 │[BP + SI + disp8] │
│ │ 011 │ 1r3 │[BP + DI + disp8] │
│ │ 100 │ 1r4 │[SI + disp8] │
│ │ 101 │ 1r5 │[DI + disp8] │
│ │ 110 │ 1r6 │[BP + disp8] │
│ │ 111 │ 1r7 │[BX + disp8] │
│ │ │ │ │
├────┼───────┼─────┼───────────────────────┤
│ │ │ │ │
│ 10 │ 000 │ 2r0 │[BX + SI + disp16] │
│ │ 001 │ 2r1 │[BX + DI + disp16] │
│ │ 010 │ 2r2 │[BP + SI + disp16] │
│ │ 011 │ 2r3 │[BP + DI + disp16] │
│ │ 100 │ 2r4 │[SI + disp16] │
│ │ 101 │ 2r5 │[DI + disp16] │
│ │ 110 │ 2r6 │[BP + disp16] │
│ │ 111 │ 2r7 │[BX + disp16] │
│ │ │ │ │
├────┼───────┼─────┼───────────────────────┤
│ │ │ │ │
│ 11 │ 000 │ 3r0 │AL / AX │
│ │ 001 │ 3r1 │CL / CX │
│ │ 010 │ 3r2 │DL / DX │
│ │ 011 │ 3r3 │BL / BX │
│ │ 100 │ 3r4 │AH / SP │
│ │ 101 │ 3r5 │CH / BP │
│ │ 110 │ 3r6 │DH / SI │
│ │ 111 │ 3r7 │BH / DI │
│ │ │ │ │
└────┴───────┴─────┴───────────────────────┘
disp8, disp16: memory offset or displacement, disp8 = byte, disp16 = word
which will follow the /r byte but precede any ib/iw bytes
---* THE ASSEMBLY TABLE -- IN HEX *---
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ AAA │ 37 │
│ AAD │ D5 0A │
│ AAD i8 │ D5 ib │
│ AAM │ D4 0A │
│ AAM i8 │ D4 ib │
│ AAS │ 3F │
│ ADC AL,i8 │ 14 ib │
│ ADC AX,i16 │ 15 iw │
│ ADC r8,rm8 │ 12 /r │
│ ADC r16,rm16 │ 13 /r │
│ ADC rm8,r8 │ 10 /r │
│ ADC rm16,r16 │ 11 /r │
│ ADC rm8,i8 │ 80 /2 ib │
│ ADC rm16,i8 │ 83 /2 ib │
│ ADC rm16,i16 │ 81 /2 iw │
│ ADD AL,i8 │ 04 ib │
│ ADD AX,i16 │ 05 iw │
│ ADD r8,rm8 │ 02 /r │
│ ADD r16,rm16 │ 03 /r │
│ ADD rm8,r8 │ 00 /r │
│ ADD rm16,r16 │ 01 /r │
│ ADD rm8,i8 │ 80 /0 ib │
│ ADD rm16,i8 │ 83 /0 ib │
│ ADD rm16,i16 │ 81 /0 iw │
│ AND AL,i8 │ 24 ib │
│ AND AX,i16 │ 25 iw │
│ AND r8,rm8 │ 22 /r │
│ AND r16,rm16 │ 23 /r │
│ AND rm8,r8 │ 20 /r │
│ AND rm16,r16 │ 21 /r │
│ AND rm8,i8 │ 80 /4 ib │
│ AND rm16,i8 │ 83 /4 ib │
│ AND rm16,i16 │ 81 /4 iw │
│ BOUND r16,m16&16 │ 62 /r │
│ CALL rel16 │ E8 cw │
│ CALL FAR ptr16:16 │ 9A cd │
│ CALL rm16 │ FF /2 │
│ CALL FAR m16:16 │ FF /3 │
│ CBW │ 98 │
│ CLC │ F8 │
│ CLD │ FC │
│ CLI │ FA │
│ CMC │ F5 │
│ CMP AL,i8 │ 3C ib │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ CMP AX,i16 │ 3D iw │
│ CMP r8,rm8 │ 3A /r │
│ CMP r16,rm16 │ 3B /r │
│ CMP rm8,r8 │ 38 /r │
│ CMP rm16,r16 │ 39 /r │
│ CMP rm8,i8 │ 80 /7 ib │
│ CMP rm16,i8 │ 83 /7 ib │
│ CMP rm16,i16 │ 81 /7 iw │
│ CMPSB │ A6 │
│ CMPSW │ A7 │
│ CWD │ 99 │
│ DAA │ 27 │
│ DAS │ 2F │
│ DEC r16 │ 48+rw │
│ DEC rm8 │ FE /1 │
│ DEC rm16 │ FF /1 │
│ DIV rm8 │ F6 /6 │
│ DIV rm16 │ F7 /6 │
│ ENTER i16,i8 │ C8 iw ib │
│ HLT │ F4 │
│ IDIV rm8 │ F6 /7 │
│ IDIV rm16 │ F7 /7 │
│ IMUL rm8 │ F6 /5 │
│ IMUL rm16 │ F7 /5 │
│ IMUL r16,rm16,i16 │ 69 iw │
│ IMUL r16,rm16,i8 │ 6B ib │
│ IN AL,DX │ EC │
│ IN AX,DX │ ED │
│ IN AL,i8 │ E4 ib │
│ IN AX,i8 │ E5 ib │
│ INC r16 │ 40+rw │
│ INC rm8 │ FE /0 │
│ INC rm16 │ FF /0 │
│ INSB │ 6C │
│ INSW │ 6D │
│ INT 3 (Breakpoint) │ CC │
│ INT i8 │ CD ib │
│ INTO │ CE │
│ IRET │ CF │
│ JA rel8 │ 77 cb │
│ JAE rel8 │ 73 cb │
│ JB rel8 │ 72 cb │
│ JBE rel8 │ 76 cb │
│ JC rel8 │ 72 cb │
│ JCXZ rel8 │ E3 cb │
│ JE rel8 │ 74 cb │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ JG rel8 │ 7F cb │
│ JGE rel8 │ 7D cb │
│ JL rel8 │ 7C cb │
│ JLE rel8 │ 7E cb │
│ JNA rel8 │ 76 cb │
│ JNAE rel8 │ 72 cb │
│ JNB rel8 │ 73 cb │
│ JNBE rel8 │ 77 cb │
│ JNC rel8 │ 73 cb │
│ JNE rel8 │ 75 cb │
│ JNG rel8 │ 7E cb │
│ JNGE rel8 │ 7C cb │
│ JNL rel8 │ 7D cb │
│ JNLE rel8 │ 7F cb │
│ JNO rel8 │ 71 cb │
│ JNP rel8 │ 7B cb │
│ JNS rel8 │ 79 cb │
│ JNZ rel8 │ 75 cb │
│ JO rel8 │ 70 cb │
│ JP rel8 │ 7A cb │
│ JPE rel8 │ 7A cb │
│ JPO rel8 │ 7B cb │
│ JS rel8 │ 78 cb │
│ JZ rel8 │ 74 cb │
│ JMP rel16 │ E9 cw │
│ JMP ptr16:16 │ EA cd │
│ JMP rel8 │ EB cb │
│ JMP rm16 │ FF /4 │
│ JMP FAR m16:16 │ FF /5 │
│ LAHF │ 9F │
│ LDS r16,m16:16 │ C4 /r │
│ LEA r16,rm16 │ 8D /r │
│ LEAVE │ C9 │
│ LES r16,m16:16 │ C5 /r │
│ LOCK │ F0 │
│ LODSB │ AC │
│ LODSW │ AD │
│ LOOP rel8 │ E2 cb │
│ LOOPE rel8 │ E1 cb │
│ LOOPNE rel8 │ E0 cb │
│ LOOPNZ rel8 │ E0 cb │
│ LOOPZ rel8 │ E1 cb │
│ MOV r8,i8 │ B0+rb ib │
│ MOV r16,i16 │ B8+rw iw │
│ MOV AL,m8 │ A0 iw │
│ MOV AX,m16 │ A1 iw │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ MOV m8,AL │ A2 iw │
│ MOV m16,AX │ A3 iw │
│ MOV r8,rm8 │ 8A /r │
│ MOV r16,rm16 │ 8B /r │
│ MOV rm8,r8 │ 88 /r │
│ MOV rm16,r16 │ 89 /r │
│ MOV rm8,i8 │ C6 /0 ib │
│ MOV rm16,i16 │ C7 /0 iw │
│ MOV r16,segreg │ 8C /r │
│ MOV segreg,r16 │ 8E /r │
│ MOVSB │ A4 │
│ MOVSW │ A5 │
│ MUL rm8 │ F6 /4 │
│ MUL rm16 │ F7 /4 │
│ NEG rm8 │ F6 /3 │
│ NEG rm16 │ F7 /3 │
│ NOP │ 90 │
│ NOT rm8 │ F6 /2 │
│ NOT rm16 │ F7 /2 │
│ OR AL,i8 │ 0C ib │
│ OR AX,i16 │ 0D iw │
│ OR r8,rm8 │ 0A /r │
│ OR r16,rm16 │ 0B /r │
│ OR rm8,r8 │ 08 /r │
│ OR rm16,r16 │ 09 /r │
│ OR rm8,i8 │ 80 /1 ib │
│ OR rm16,i8 │ 83 /1 ib │
│ OR rm16,i16 │ 81 /1 iw │
│ OUT DX,AL │ EE │
│ OUT DX,AX │ EF │
│ OUT i8,AL │ E6 ib │
│ OUT i8,AX │ E7 iw │
│ OUTSB │ 6E │
│ OUTSW │ 6F │
│ POP r16 │ 58+rw │
│ POP rm16 │ 8F /0 iw │
│ POP DS │ 1F │
│ POP ES │ 07 │
│ POP SS │ 17 │
│ POPA │ 61 │
│ POPF │ 9D │
│ PUSH r16 │ 50+rw │
│ PUSH rm16 │ FF /6 │
│ PUSH i8 │ 6A ib │
│ PUSH i16 │ 68 iw │
│ PUSH CS │ 0E │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ PUSH DS │ 1E │
│ PUSH ES │ 06 │
│ PUSH SS │ 16 │
│ PUSHA │ 60 │
│ PUSHF │ 9C │
│ RCL rm8,1 │ D0 /2 │
│ RCL rm16,1 │ D1 /2 │
│ RCL rm8,CL │ D2 /2 │
│ RCL rm16,CL │ D3 /2 │
│ RCL rm8,i8 │ C0 /2 ib │
│ RCL rm16,i8 │ C1 /2 ib │
│ RCR rm8,1 │ D0 /3 │
│ RCR rm16,1 │ D1 /3 │
│ RCR rm8,CL │ D2 /3 │
│ RCR rm16,CL │ D3 /3 │
│ RCR rm8,i8 │ C0 /3 ib │
│ RCR rm16,i8 │ C1 /3 ib │
│ REP │ F3 │
│ REPE │ F2 │
│ REPNE │ F3 │
│ RET i16 │ C2 iw │
│ RET │ C3 │
│ RETF i16 │ CA iw │
│ RETF │ CB │
│ ROL rm8,1 │ D0 /0 │
│ ROL rm16,1 │ D1 /0 │
│ ROL rm8,CL │ D2 /0 │
│ ROL rm16,CL │ D3 /0 │
│ ROL rm8,i8 │ C0 /0 ib │
│ ROL rm16,i8 │ C1 /0 ib │
│ ROR rm8,1 │ D0 /1 │
│ ROR rm16,1 │ D1 /1 │
│ ROR rm8,CL │ D2 /1 │
│ ROR rm16,CL │ D3 /1 │
│ ROR rm8,i8 │ C0 /1 ib │
│ ROR rm16,i8 │ C1 /1 ib │
│ SAHF │ 9E │
│ SAL rm8,1 │ D0 /4 │
│ SAL rm16,1 │ D1 /4 │
│ SAL rm8,CL │ D2 /4 │
│ SAL rm16,CL │ D3 /4 │
│ SAL rm8,i8 │ C0 /4 ib │
│ SAL rm16,i8 │ C1 /4 ib │
│ SAR rm8,1 │ D0 /7 │
│ SAR rm16,1 │ D1 /7 │
│ SAR rm8,CL │ D2 /7 │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ SAR rm16,CL │ D3 /7 │
│ SAR rm8,i8 │ C0 /7 ib │
│ SAR rm16,i8 │ C1 /7 ib │
│ SBB AL,i8 │ 1C ib │
│ SBB AX,i16 │ 1D iw │
│ SBB r8,rm8 │ 1A /r │
│ SBB r16,rm16 │ 1B /r │
│ SBB rm8,r8 │ 18 /r │
│ SBB rm16,r16 │ 19 /r │
│ SBB rm8,i8 │ 80 /3 ib │
│ SBB rm16,i8 │ 83 /3 ib │
│ SBB rm16,i16 │ 81 /3 iw │
│ SCASB │ AE │
│ SCASW │ AF │
│ SEGCS │ 2E │
│ SEGDS │ 3E │
│ SEGES │ 26 │
│ SEGSS │ 36 │
│ SETALC │ D6 │
│ SHL rm8,1 │ D0 /4 │
│ SHL rm16,1 │ D1 /4 │
│ SHL rm8,CL │ D2 /4 │
│ SHL rm16,CL │ D3 /4 │
│ SHL rm8,i8 │ C0 /4 ib │
│ SHL rm16,i8 │ C1 /4 ib │
│ SHR rm8,1 │ D0 /5 │
│ SHR rm16,1 │ D1 /5 │
│ SHR rm8,CL │ D2 /5 │
│ SHR rm16,CL │ D3 /5 │
│ SHR rm8,i8 │ C0 /5 ib │
│ SHR rm16,i8 │ C1 /5 ib │
│ STC │ F9 │
│ STD │ FD │
│ STI │ FB │
│ STOSB │ AA │
│ STOSW │ AB │
│ SUB AL,i8 │ 2C ib │
│ SUB AX,i16 │ 2D iw │
│ SUB r8,rm8 │ 2A /r │
│ SUB r16,rm16 │ 2B /r │
│ SUB rm8,r8 │ 28 /r │
│ SUB rm16,r16 │ 29 /r │
│ SUB rm8,i8 │ 80 /5 ib │
│ SUB rm16,i8 │ 83 /5 ib │
│ SUB rm16,i16 │ 81 /5 iw │
│ TEST AL,i8 │ A8 ib │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ TEST AL,i16 │ A9 iw │
│ TEST rm8,r8 │ 84 /r │
│ TEST rm16,r16 │ 85 /r │
│ TEST rm8,i8 │ F6 /0 ib │
│ TEST rm16,i16 │ F7 /0 iw │
│ WAIT │ 9B │
│ XCHG AX,r16 │ 90+rw │
│ XCHG r8,rm8 │ 86 /r │
│ XCHG rm8,r8 │ 86 /r │
│ XCHG r16,rm16 │ 87 /r │
│ XCHG rm16,r16 │ 87 /r │
│ XLATB │ D7 │
│ XOR AL,i8 │ 34 ib │
│ XOR AX,i16 │ 35 iw │
│ XOR r8,rm8 │ 32 /r │
│ XOR r16,rm16 │ 33 /r │
│ XOR rm8,r8 │ 30 /r │
│ XOR rm16,r16 │ 31 /r │
│ XOR rm8,i8 │ 80 /6 ib │
│ XOR rm16,i8 │ 83 /6 ib │
│ XOR rm16,i16 │ 81 /6 iw │
└───────────────────────────────────┴──────────────────────┘
---* THE ASSEMBLY TABLE -- IN OCTAL *---
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ AAA │ 067 │
│ AAD │ 325 012 │
│ AAD i8 │ 325 ib │
│ AAM │ 324 012 │
│ AAM i8 │ 324 ib │
│ AAS │ 077 │
│ ADC AL,i8 │ 024 ib │
│ ADC AX,i16 │ 025 iw │
│ ADC r8,rm8 │ 022 trm │
│ ADC r16,rm16 │ 023 trm │
│ ADC rm8,r8 │ 020 trm │
│ ADC rm16,r16 │ 021 trm │
│ ADC rm8,i8 │ 200 t2m ib │
│ ADC rm16,i8 │ 203 t2m ib │
│ ADC rm16,i16 │ 201 t2m iw │
│ ADD AL,i8 │ 004 ib │
│ ADD AX,i16 │ 005 iw │
│ ADD r8,rm8 │ 002 trm │
│ ADD r16,rm16 │ 003 trm │
│ ADD rm8,r8 │ 000 trm │
│ ADD rm16,r16 │ 001 trm │
│ ADD rm8,i8 │ 200 t0m ib │
│ ADD rm16,i8 │ 203 t0m ib │
│ ADD rm16,i16 │ 201 t0m iw │
│ AND AL,i8 │ 044 ib │
│ AND AX,i16 │ 045 iw │
│ AND r8,rm8 │ 042 trm │
│ AND r16,rm16 │ 043 trm │
│ AND rm8,r8 │ 040 trm │
│ AND rm16,r16 │ 041 trm │
│ AND rm8,i8 │ 200 t4m ib │
│ AND rm16,i8 │ 203 t4m ib │
│ AND rm16,i16 │ 201 t4m iw │
│ BOUND r16,m16&16 │ 142 trm │
│ CALL rel16 │ 350 cw │
│ CALL FAR ptr16:16 │ 232 cd │
│ CALL rm16 │ 377 t2m │
│ CALL FAR m16:16 │ 377 t3m │
│ CBW │ 230 │
│ CLC │ 370 │
│ CLD │ 374 │
│ CLI │ 372 │
│ CMC │ 365 │
│ CMP AL,i8 │ 074 ib │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ CMP AX,i16 │ 075 iw │
│ CMP r8,rm8 │ 072 trm │
│ CMP r16,rm16 │ 073 trm │
│ CMP rm8,r8 │ 070 trm │
│ CMP rm16,r16 │ 071 trm │
│ CMP rm8,i8 │ 200 t7m ib │
│ CMP rm16,i8 │ 203 t7m ib │
│ CMP rm16,i16 │ 201 t7m iw │
│ CMPSB │ 246 │
│ CMPSW │ 247 │
│ CWD │ 231 │
│ DAA │ 047 │
│ DAS │ 057 │
│ DEC r16 │ 11r │
│ DEC rm8 │ 376 t1m │
│ DEC rm16 │ 377 t1m │
│ DIV rm8 │ 366 t6m │
│ DIV rm16 │ 367 t6m │
│ ENTER i16,i8 │ 310 iw ib │
│ HLT │ 364 │
│ IDIV rm8 │ 366 t7m │
│ IDIV rm16 │ 367 t7m │
│ IMUL rm8 │ 366 t5m │
│ IMUL rm16 │ 367 t5m │
│ IMUL r16,rm16,i16 │ 151 iw │
│ IMUL r16,rm16,i8 │ 153 ib │
│ IN AL,DX │ 354 │
│ IN AX,DX │ 355 │
│ IN AL,i8 │ 344 ib │
│ IN AX,i8 │ 354 ib │
│ INC r16 │ 10r │
│ INC rm8 │ 376 t0m │
│ INC rm16 │ 377 t0m │
│ INSB │ 154 │
│ INSW │ 155 │
│ INT 3 (Breakpoint) │ 314 │
│ INT i8 │ 315 ib │
│ INTO │ 316 │
│ IRET │ 317 │
│ JA rel8 │ 167 cb │
│ JAE rel8 │ 163 cb │
│ JB rel8 │ 162 cb │
│ JBE rel8 │ 166 cb │
│ JC rel8 │ 162 cb │
│ JCXZ rel8 │ 343 cb │
│ JE rel8 │ 164 cb │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ JG rel8 │ 177 cb │
│ JGE rel8 │ 175 cb │
│ JL rel8 │ 174 cb │
│ JLE rel8 │ 176 cb │
│ JNA rel8 │ 166 cb │
│ JNAE rel8 │ 162 cb │
│ JNB rel8 │ 163 cb │
│ JNBE rel8 │ 167 cb │
│ JNC rel8 │ 163 cb │
│ JNE rel8 │ 165 cb │
│ JNG rel8 │ 176 cb │
│ JNGE rel8 │ 174 cb │
│ JNL rel8 │ 175 cb │
│ JNLE rel8 │ 177 cb │
│ JNO rel8 │ 161 cb │
│ JNP rel8 │ 173 cb │
│ JNS rel8 │ 171 cb │
│ JNZ rel8 │ 165 cb │
│ JO rel8 │ 160 cb │
│ JP rel8 │ 172 cb │
│ JPE rel8 │ 172 cb │
│ JPO rel8 │ 173 cb │
│ JS rel8 │ 170 cb │
│ JZ rel8 │ 164 cb │
│ JMP rel16 │ 351 cw │
│ JMP ptr16:16 │ 352 cd │
│ JMP rel8 │ 353 cb │
│ JMP rm16 │ 377 t4m │
│ JMP FAR m16:16 │ 377 t5m │
│ LAHF │ 237 │
│ LDS r16,m16:16 │ 304 trm │
│ LEA r16,rm16 │ 213 trm │
│ LEAVE │ 311 │
│ LES r16,m16:16 │ 305 trm │
│ LOCK │ 360 │
│ LODSB │ 254 │
│ LODSW │ 255 │
│ LOOP rel8 │ 342 cb │
│ LOOPE rel8 │ 341 cb │
│ LOOPNE rel8 │ 340 cb │
│ LOOPNZ rel8 │ 340 cb │
│ LOOPZ rel8 │ 341 cb │
│ MOV r8,i8 │ 26r ib │
│ MOV r16,i16 │ 27r iw │
│ MOV AL,m8 │ 240 iw │
│ MOV AX,m16 │ 241 iw │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ MOV m8,AL │ 242 iw │
│ MOV m16,AX │ 243 iw │
│ MOV r8,rm8 │ 212 trm │
│ MOV r16,rm16 │ 213 trm │
│ MOV rm8,r8 │ 210 trm │
│ MOV rm16,r16 │ 211 trm │
│ MOV rm8,i8 │ 306 t0m ib │
│ MOV rm16,i16 │ 307 t0m iw │
│ MOV rm16,segreg │ 214 trm │
│ MOV segreg,rm16 │ 215 trm │
│ MOVSB │ 244 │
│ MOVSW │ 245 │
│ MUL rm8 │ 366 t4m │
│ MUL rm16 │ 367 t4m │
│ NEG rm8 │ 366 t3m │
│ NEG rm16 │ 367 t3m │
│ NOP │ 220 │
│ NOT rm8 │ 366 t2m │
│ NOT rm16 │ 367 t2m │
│ OR AL,i8 │ 014 ib │
│ OR AX,i16 │ 015 iw │
│ OR r8,rm8 │ 012 trm │
│ OR r16,rm16 │ 013 trm │
│ OR rm8,r8 │ 010 trm │
│ OR rm16,r16 │ 011 trm │
│ OR rm8,i8 │ 200 t1m ib │
│ OR rm16,i8 │ 203 t1m ib │
│ OR rm16,i16 │ 201 t1m iw │
│ OUT DX,AL │ 356 │
│ OUT DX,AX │ 357 │
│ OUT i8,AL │ 346 ib │
│ OUT i8,AX │ 347 ib │
│ OUTSB │ 156 │
│ OUTSW │ 157 │
│ POP r16 │ 13r │
│ POP rm16 │ 217 t0m iw │
│ POP DS │ 037 │
│ POP ES │ 007 │
│ POP SS │ 027 │
│ POPA │ 141 │
│ POPF │ 235 │
│ PUSH r16 │ 12r │
│ PUSH rm16 │ 377 t6m │
│ PUSH i8 │ 152 ib │
│ PUSH i16 │ 150 iw │
│ PUSH CS │ 016 │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ PUSH DS │ 036 │
│ PUSH ES │ 006 │
│ PUSH SS │ 026 │
│ PUSHA │ 140 │
│ PUSHF │ 234 │
│ RCL rm8,1 │ 320 t2m │
│ RCL rm16,1 │ 321 t2m │
│ RCL rm8,CL │ 322 t2m │
│ RCL rm16,CL │ 323 t2m │
│ RCL rm8,i8 │ 300 t2m ib │
│ RCL rm16,i8 │ 301 t2m ib │
│ RCR rm8,1 │ 320 t3m │
│ RCR rm16,1 │ 321 t3m │
│ RCR rm8,CL │ 322 t3m │
│ RCR rm16,CL │ 323 t3m │
│ RCR rm8,i8 │ 300 t3m ib │
│ RCR rm16,i8 │ 301 t3m ib │
│ REP │ 363 │
│ REPE │ 362 │
│ REPNE │ 363 │
│ RET i16 │ 302 iw │
│ RET │ 303 │
│ RETF i16 │ 312 iw │
│ RETF │ 313 │
│ ROL rm8,1 │ 320 t0m │
│ ROL rm16,1 │ 321 t0m │
│ ROL rm8,CL │ 322 t0m │
│ ROL rm16,CL │ 323 t0m │
│ ROL rm8,i8 │ 300 t0m ib │
│ ROL rm16,i8 │ 301 t0m ib │
│ ROR rm8,1 │ 320 t1m │
│ ROR rm16,1 │ 321 t1m │
│ ROR rm8,CL │ 322 t1m │
│ ROR rm16,CL │ 323 t1m │
│ ROR rm8,i8 │ 300 t1m ib │
│ ROR rm16,i8 │ 301 t1m ib │
│ SAHF │ 232 │
│ SAL rm8,1 │ 320 t4m │
│ SAL rm16,1 │ 321 t4m │
│ SAL rm8,CL │ 322 t4m │
│ SAL rm16,CL │ 323 t4m │
│ SAL rm8,i8 │ 300 t4m ib │
│ SAL rm16,i8 │ 301 t4m ib │
│ SAR rm8,1 │ 320 t7m │
│ SAR rm16,1 │ 321 t7m │
│ SAR rm8,CL │ 322 t7m │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ SAR rm16,CL │ 323 t7m │
│ SAR rm8,i8 │ 300 t7m ib │
│ SAR rm16,i8 │ 301 t7m ib │
│ SBB AL,i8 │ 034 ib │
│ SBB AX,i16 │ 035 iw │
│ SBB r8,rm8 │ 032 trm │
│ SBB r16,rm16 │ 033 trm │
│ SBB rm8,r8 │ 030 trm │
│ SBB rm16,r16 │ 031 trm │
│ SBB rm8,i8 │ 200 t3m ib │
│ SBB rm16,i8 │ 203 t3m ib │
│ SBB rm16,i16 │ 201 t3m iw │
│ SCASB │ 256 │
│ SCASW │ 257 │
│ SEGCS │ 056 │
│ SEGDS │ 076 │
│ SEGES │ 046 │
│ SEGSS │ 066 │
│ SETALC │ 326 │
│ SHL rm8,1 │ 320 t4m │
│ SHL rm16,1 │ 321 t4m │
│ SHL rm8,CL │ 322 t4m │
│ SHL rm16,CL │ 323 t4m │
│ SHL rm8,i8 │ 300 t4m ib │
│ SHL rm16,i8 │ 301 t4m ib │
│ SHR rm8,1 │ 320 t5m │
│ SHR rm16,1 │ 321 t5m │
│ SHR rm8,CL │ 322 t5m │
│ SHR rm16,CL │ 323 t5m │
│ SHR rm8,i8 │ 300 t5m ib │
│ SHR rm16,i8 │ 301 t5m ib │
│ STC │ 371 │
│ STD │ 373 │
│ STI │ 375 │
│ STOSB │ 252 │
│ STOSW │ 253 │
│ SUB AL,i8 │ 054 ib │
│ SUB AX,i16 │ 055 iw │
│ SUB r8,rm8 │ 052 trm │
│ SUB r16,rm16 │ 053 trm │
│ SUB rm8,r8 │ 050 trm │
│ SUB rm16,r16 │ 051 trm │
│ SUB rm8,i8 │ 200 t5m ib │
│ SUB rm16,i8 │ 203 t5m ib │
│ SUB rm16,i16 │ 201 t5m iw │
│ TEST AL,i8 │ 250 ib │
└───────────────────────────────────┴──────────────────────┘
┌───────────────────────────────────┬──────────────────────┐
│ Instruction │ Opcode and Data │
├───────────────────────────────────┼──────────────────────┤
│ TEST AL,i16 │ 251 iw │
│ TEST rm8,r8 │ 204 trm │
│ TEST rm16,r16 │ 205 trm │
│ TEST rm8,i8 │ 366 t0m ib │
│ TEST rm16,i16 │ 367 t0m iw │
│ WAIT │ 233 │
│ XCHG AX,r16 │ 22r │
│ XCHG r8,rm8 │ 206 trm │
│ XCHG rm8,r8 │ 206 trm │
│ XCHG r16,rm16 │ 207 trm │
│ XCHG rm16,r16 │ 207 trm │
│ XLATB │ 337 │
│ XOR AL,i8 │ 064 ib │
│ XOR AX,i16 │ 065 iw │
│ XOR r8,rm8 │ 062 trm │
│ XOR r16,rm16 │ 063 trm │
│ XOR rm8,r8 │ 060 trm │
│ XOR rm16,r16 │ 061 trm │
│ XOR rm8,i8 │ 200 t6m ib │
│ XOR rm16,i8 │ 203 t6m ib │
│ XOR rm16,i16 │ 201 t6m iw │
└───────────────────────────────────┴──────────────────────┘