home *** CD-ROM | disk | FTP | other *** search
- The following opcode tables aid in interpreting 80386 object code. Use the
- high order 4 bits of the opcode as an index to a row of the opcode table;
- use the low order 4 bits as an index to a column of the table. If the
- opcode is 0FH, refer to the 2-byte opcode table, and use the second byte
- of the opcode to index the rows and columns of that table.
-
- KEY TO ABBREVIATIONS
-
- Operands are identified by a two-character code of the form Zz. The first
- character, an uppercase letter, specifies the addressing method, the
- second character, a lowercase letter, specifies the type of operand.
-
- CODES FOR ADDRESSING METHOD
-
- A: Direct address. The instruction has no mod r/m byte, the address
- of the operand is encoded in the instruction' no base register, index
- register, or scaling factor can be applied -- for example, far JMP (EA).
-
- C: The reg field of the mod r/m byte selects a control register, for
- example, MOV (0FH 20H, 0FH 22H).
-
- D: The reg field of the mod r/m byte selects a debug register, for
- example, MOV (0FH 21h, 0fh 23h).
-
- E: A mod r/m byte follows the opcode and specifies the operand. The
- operand is either a general register or a memory address. If it is a memory
- address, the address is computed from a segment register and any of the
- following values: a base register, an index register, a scaling factor or
- a displacement.
-
- F: Flags register.
-
- G: The reg field of the mod r/m byte selects a general register --
- for example, ADD (00H).
-
- I: Immediate data. The value of the operand is encoded in subsequent
- bytes of the instruction.
-
- J: The instruction contains a relative offset to be added to the
- instruction pointer register -- for example, JMP short, LOOP.
-
- M: The mode r/m bytes may refer only to memory -- for example, BOUND,
- LES, LDS, LSS, LFS, LGS.
-
- O: The instruction has no mod r/m byte; the offset of the operand is
- coded as a word or doubleword(depending on address size attribute) in the
- instruction. No base register, index register, or scaling factor can be
- applied -- for example, MOV (A0H-A3H)
-
- R: The mod field of the mod r/m byte may refer only to a general
- register -- for example, MOV(0FH 20H, 0FH 26H
-
- S: The reg field of the mod r/m byte selects a segment register --
- for example, MOV (8CH,8EH).
-
- T: The reg field of the mod r/m byte selects a test register -- for
- example, MOV (0FH 24H).
-
- X: Memory addressed by DS:SI -- for example, MOVS, COMPS, OUTS, LODS,
- SCAS.
-
- Y: Memory addressed by ES:DI -- for example, MOVS CMPS, INS, STOS.
-
- CODES FOR OPERAND TYPE
-
- a: Two single-word operands in memory or two double-word operands in
- memory, depending on operand size attribute (used only by BOUND).
-
- b: Byte (regardless of operand size attribute).
-
- c: Byte or word, depending on operand size attribute.
-
- d: Doubleword (regardless of operand size attribute).
-
- p: 32 bit or 48 bit pointer, depending on operand size attribute.
-
- s: 6 byte pseudodescriptor.
-
- v: Word or doubleword, depending on operand size attribute.
-
- w: Word (regardless of operand size attribute).
-
- REGISTER CODES
-
- When an operand is a register encoded in the opcode, the register is
- identified by its name, for example, AX, CL, or ESI. The name of the
- register indicates whether the register is 32 bits, 16 bits, or 8 bits. A
- register identifier of the form eXX is used when the width of the register
- depends on the operand size attribute; for example, eAX indicates that the
- AX register is used when the operand size attribute is 16 and that the EAX
- register is used when the operand size attribute is 32.
-
-
-
- ONE BYTE OPCODE TABLE
-
- ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- │0 │1 │2 │3 │4 │5 │6 │7 │
- ┌─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │0│ADD │ADD │ADD │ADD │ADD │ADD │PUSH │POP │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,lv │ES │ES │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │1│ADC │ADC │ADC │ADC │ADC │ADC │PUSH │POP │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Lb │eAX,Iv │SS: │SS │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │2│AND │AND │AND │AND │AND │AND │ES: │DAA │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,Iv │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │3│XOR │XOR │XOR │XOR │XOR │XOR │SS: │AAA │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,Iv │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │4│INC │INC │INC │INC │INC │INC │INC │INC │
- │ │eAX │eCX │eDX │eBX │eSP │eBp │eSI │eDI │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │5│PUSH │PUSH │PUSH │PUSH │PUSH │PUSH │PUSH │PUSH │
- │ │eAX │eCX │eDX │eBX │eSP │eBP │eSI │eDI │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │6│PUSHAD │POPAD │BOUND │ARPL │FS: │GS: │OPSIZE: │ADRSIZE:│
- │ │ │ │Gv,Ma │Ew,Rw │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │7│JO │JNO │JB │JNB │JZ │JNZ │JBE │JNBE │
- │ │Jb │Jb │Jb │Jb │Jb │Jb │Jb │Jb │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │8│Group1 │Group1 │ │Group1 │TEST │TEST │XCHG │XCHG │
- │ │Eb,Ib │Ev,Iv │ │Ev,Ib │Eb,Gb │Ev,Gv │Ev,Gb │Ev,Gv │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │9│NOP │XCHG │XCHG │XCHG │XCHG │XCHG │XCHG │XCHG │
- │ │ │eCX,eAX │eDX,eAX │eBX,eAX │eSP,eAX │eBP,eAX │ESI,eAX │eDI,eAX │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │A│MOV │MOV │MOV │MOV │MOVSB │MOVSW/D │CMPSB │CMPSW/D │
- │ │AL,Ob │eAX,Ov │Ob,AL │Ov,eAX │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │B│MOV │MOV │MOV │MOV │MOV │MOV │MOV │MOV │
- │ │Al,Ib │Cl,Ib │DL,Ib │BL,Ib │AH,Ib │CH,Ib │DH,Ib │BH,Ib │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │C│Group2 │Group2 │RET near│RET near│LES │LDS │MOV │MOV │
- │ │Eb,Ib │Ev,Lb │lw │ │Gv,Mp │Gv,Mp │Eb,Ib │Ev,Iv │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │D│Group2 │Group2 │Group2 │Group2 │AAM │AAD │ │XLAT │
- │ │Eb,1 │Ev,1 │Eb,CL │Ev,Cl │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │E│LOOPNE │LOOPE │LOOP │JCXZ │IN │IN │OUT │OUT │
- │ │Jb │Jb │Jb │Jb │Al,Ib │eAX,Ib │Ib,AL │eAX │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │F│LOCK │ │REPNE │REP │HLT │CMC │Group3 │Group3 │
- │ │ │ │ │REPE │ │ │Eb │Ev │
- └─┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
- ONE BYTE OPCODE (CONTINUED)
-
- ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- │8 │9 │A │B │C │D │E │F │
- ┌─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │0│OR │OR │OR │OR │OR │OR │PUSH │2byte │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,Iv │CS │escape │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │1│SBB │SBB │SBB │SBB │SBB │SBB │PUSH │POP │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,Iv │DS │DS │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │2│SUB │SUB │SUB │SUB │SUB │SUB │CS: │DAS │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,Iv │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │3│CMP │CMP │CMP │CMP │CMP │CMP │DS: │AAS │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │AL,Ib │eAX,Iv │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │4│DEC │DEC │DEC │DEC │DEC │DEC │DEC │DEC │
- │ │eAX │eCX │eDX │eBX │eSP │eBP │eSI │eDI │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │5│POP │POP │POP │POP │POP │POP │POP │POP │
- │ │eAX │eCX │eDX │eBX │eSP │eBP │eSI │eDI │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │6│PUSH │IMUL │PUSH │IMUL │INSB │INSW/D │OUTSB │OUTSW/D │
- │ │Iv │Gv,Ev,Iv│Ib │Gv,Ev,Ib│Yb,DX │Yv,DX │DX,XB │DX,Xv │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │7│JS │JNS │JP │JNP │JL │JNL │JLE │JNLE │
- │ │Jb │Jb │Jb │Jb │Jb │Jb │Jb │Jb │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │8│MOV │MOV │MOV │MOV │MOV │LEA │MOV │POP │
- │ │Eb,Gb │Ev,Gv │Gb,Eb │Gv,Ev │Ew,Sw │Gv,M │Sw,Ew │Ev │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │9│CBW │CWD │CALL │WAIT │PUSHF │POPF │SAHF │LAHF │
- │ │ │ │Ap │ │Fv │Fv │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │A│TEST │TEST │STOSB │STOSW/D │LODSB │LODSW/D │SCASB │SCASW/D │
- │ │AL,Ib │eAX,Iv │ │ │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │B│MOV │MOV │MOV │MOV │MOV │MOV │MOV │MOV │
- │ │eAX,Iv │eCX,Iv │eDX,Iv │eBX,Iv │eSP,Iv │eBP,Iv │eSI,Iv │eDI,Iv │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │C│ENTER │LEAVE │RET far │ │INT │INT │INTO │IRET │
- │ │Iw,Ib │ │Iw │ │3 │Ib │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │D│ESC │ESC │ESC │ESC │ESC │ESC │ESC │ESC │
- │ │0 │1 │2 │3 │4 │5 │6 │7 │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │E│CALL │JMP │JMP │JMP │IN │IN │OUT │OUT │
- │ │Av │Jv │Ap │Jb │AL,DX │eAX,DX │DX,AL │DX,eAX │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │F│CLC │STC │CLI │STI │CLD │STD │Group4 │Group5 │
- │ │ │ │ │ │ │ │ │ │
- └─┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
- Two byte Opcode Table (First byte is 0FH)
-
- ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- │0 │1 │2 │3 │4 │5 │6 │7 │
- ┌─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │0│Group6 │Group7 │LAR │LSL │ │ │CLTS │ │
- │ │ │ │Gv,Ew │Gv,Ew │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │2│MOV │MOV │MOV │MOV │MOV │ │MOV │ │
- │ │Cd,Rd │Dd,Rd │Rd,Cd │Rd,Dd │Td,Rd │ │Rd,Td │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │8│JO │JNO │JB │JBN │JZ │JNZ │JBE │JNBE │
- │ │Jv │Jv │Jv │Jv │Jv │Jv │Jv │Jv │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │9│SETO │SETNO │SETB │SETNB │SETZ │SETNZ │SETBE │SETNBE │
- │ │Eb │Eb │Eb │Eb │Eb │Eb │Eb │Eb │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │A│PUSH │POP │ │BT │SHLD │SHLD │ │ │
- │ │FS │FS │ │Ev,Gv │Ev,Gv,Ib│Ev,Gv,CL│ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │B│ │ │LSS │BTR │LFS │LGS │MOVZX │MOVZX │
- │ │ │ │Mp │Ev,Gv │Mp │Mp │Gv,Eb │Gv,Ew │
- └─┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
- ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- │ │ │ │ │ │ │ │ │
- │8 │9 │A │B │C │D │E │F │
- ┌─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │8│JS │JNS │JP │JNP │JL │JNL │JLE │JNLE │
- │ │Jv │Jv │Jv │Jv │Jv │Jv │Jv │Jv │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │9│SETS │SETNS │SETP │SETNP │SETL │SETNL │SETLE │SETNLE │
- │ │Eb │Eb │Eb │Eb │Eb │Eb │Eb │Eb │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │A│PUSH │POP │ │BTS │SHRD │SHRD │ │IMUL │
- │ │Gs │Gs │ │Ev,Gv │Ev,Gv,Ib│Ev,Gv,Cl│ │Gv,Ev │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │B│ │ │Group8 │BTC │BSF │BSR │MOVSX │MOVSX │
- │ │ │ │Ev,Ib │Ev,Gv │Gv,Ev │Gv,Ev │Gv,Eb │Gv,Ew │
- └─┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
-
-
- Opcodes determined by Bits 5,4 and 3 of mod r/m Byte: mod nnn r/m
-
- Group
- ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ┌─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │1│ADD │OR │ADC │SBB │AND │SUB │XOR │CMP │
- │ │ │ │ │ │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │2│ROL │ROR │RCL │RCR │SHL │SHR │ │SAR │
- │ │ │ │ │ │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │3│TEST │ │NOT │NEG │MUL │IMUL │DIV │IDIV │
- │ │Ib/Iv │ │ │ │AL/eAX │AL/eAX │AL/eAX │AL/eAX │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │4│INC │DEC │ │ │ │ │ │ │
- │ │Eb │Eb │ │ │ │ │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │5│INC │DEC │CALL │CALL │JMP │JMP │PUSH │ │
- │ │Ev │Ev │Ev │Ep │Ev │Ep │Ev │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │6│SLDT │STR │LLDT │LTR │VERR │VERW │ │ │
- │ │Ew │Ew │Ew │Ew │Ew │Ew │ │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │7│SGDT │SIDT │LGDT │LIDT │SMSW │ │LMSW │ │
- │ │Ms │Ms │Ms │Ms │Ew │ │Ew │ │
- ├─┼────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │8│ │ │ │ │BT │BTS │BTR │BTC │
- │ │ │ │ │ │ │ │ │ │
- └─┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
-
- 80387 Extensions
- The following shows the opcode map to the 80386 instruction set for the
- 80387 extensions. The operand abbreviations for these tables are:
-
- Es: Effective address, short real (32-bit)
- El: Effective address, long real (64-bit)
- Et: Effective address, temp real (80-bit)
- Ew: Effective address, word (16-bit)
- Ed: Effective address, doubleword (32-bit)
- Eq: Effective address, quadword (64-bit)
- Eb: Effective address, BCD (80-bit)
- Ea: Effective address, (no operand size)
- ST(i): Stack element i
- ST: Stack top
-
- ┌───┬───┬───┬───┬───┬───┬───┬───┐
- Format: │ 7 │ 6 │ 5 │ 4 │ 3 │ 2 │ 1 │ 0 │
- │ mod │ nnn │ r/m │
- └───────┴───────────┴───────────┘
-
- ┌─────────┐
- │ ESC 0 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 00 │FADD │FMUL │FCOM │FCOMP │FSUB │FSUBR │FDIV │FDIVR │
- mod=01 │Es │Es │Es │Es │Es │Es │Es │Es │
- 10 │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- mod=11 │FADD │FMUL │FCOM │FCOMP │FSUB │FSUBR │FDIV │FDIVR │
- │ST,ST(i)│ST,ST(i)│ST,ST(i)│ST,ST(i)│ST,ST(i)│ST,ST(i)│ST,ST(i)│ST,ST(i)│
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- 1=r/m
-
- ┌─────────┐
- │ ESC 1 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 00 │FLD │ │FST │FSTP │FLDENV │FLDCW │FSTENV │FSTCW │
- mod=01 │Es │ │Es │Es │Ea │Ew │Ea │Ew │
- 10 │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- r/m│FLD │FXCH │FNOP │ │FCHS │FLD1 │F2XM1 │FPREM │
- 000│ST(0) │ST(0) │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │FLD │FXCH │ │ │FABS │FLDL2T │FYL2X │FYL2XP1 │
- 001│ST(1) │ST(1) │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 010│FLD │FXCH │ │ │ │FLDL2E │FPTAN │FSQRT │
- │ST(2) │ST(2) │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 011│FLD │FXCH │ │ │ │FLDPI │FPATAN │FSINCOS │
- │ST(3) │ST(3) │ │ │ │ │ │ │
- mod=11 ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 100│FLD │FXCH │ │ │FTST │FLDLG2 │FXTRACT │FRNDINT │
- │ST(4) │ST(4) │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 101│FLD │FXCH │ │ │FXAM │FLDLN2 │FPREMI │FSCALE │
- │ST(5) │ST(5) │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 110│FLD │FXCH │ │ │ │FLDZ │FDECSTP │FSIN │
- │ST(6) │ST(6) │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 111│FLD │FXCH │ │ │ │ │FINCSTP │FCOS │
- │ST(7) │ST(7) │ │ │ │ │ │ │
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
- ┌─────────┐
- │ ESC 2 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 00 │FIADD │FIMUL │FICOM │FICOMP │FISUB │FISUBR │FIDIV │FIDIVR │
- mod=01 │Ew │Ew │Ew │Ew │Ew │Ew │Ew │Ew │
- 10 │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- mod=11 │ │FUCOMPP*│ │ │ │ │ │ │
- │ │ │ │ │ │ │ │ │
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- *r/m=5
-
-
- ┌─────────┐
- │ ESC 3 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 00 │FILD │ │FIST │FISTP │FLD │ │FSTP │ │
- mod=01 │Ew │ │Ew │Ew │Et │ │Et │ │
- 10 │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- mod=11 │ │ │ │ │Group 3a│ │ │ │
- │ │ │ │ │ │ │ │ │
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
- ┌──────────────────────────┐
- │ Group 3a: mod=11,nnn=100 │
- ┌────────┬────────┬──┴─────┬────────┬────────┬──┴─────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │(FENI) │(FDISI) │FCLEX │FINIT │(FSETPM)│ │ │ │
- │ │ │ │ │ │ │ │ │
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
-
- ┌─────────┐
- │ ESC 4 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 00 │FADD │FMUL │FCOM │FCOMP │FSUB │FSUBR │FDIV │FDIVR │
- mod=01 │El │El │El │El │El │El │El │El │
- 10 │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- mod=11 │FADD │FMUL │FCOM │FCOMP │FSUB │FSUBR │FDIV │FDIVR │
- │ST(i),ST│ST(i),ST│ST(i),ST│ST(i),ST│ST(i),ST│ST(i),ST│ST(i),ST│ST(i),ST│
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- i=r/m
-
- ┌─────────┐
- │ ESC 5 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- 00 │FLD │ │FST │FSTP │FRSTOR │ │FSAVE │FSTSW │
- mod=01 │El │ │El │El │Ea │ │Ea │Ew │
- 10 │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- mod=11 │FFREE │ │FST │FSTP │FUCOM │FUCOMP │ │ │
- │ST(i) │ │ST(i) │ST(i) │ST(i) │ST(i) │ │ │
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- i=r/m
-
- ┌─────────┐
- │ ESC 6 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │FIADD │FIMUL │FICOM │FICOMP │FISUB │FISUBR │FIDIV │FIDIVR │
- │Ed │Ed │Ed │Ed │Ed │Ed │Ed │Ed │
- │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │FADDP │FMULP │ │FCOMPP *│FSUBP │FSUBRP │FDIVP │FDIVRP │
- │ST(i),ST│ST(i),ST│ │ │ST(i),ST│ST(i),ST│ST(i),ST│ST(i),ST│
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- * r/m=001
-
- ┌─────────┐
- │ ESC 7 │
- │ nnn │
- ┌────────┬────────┬────────┬───┴────┬────┴───┬────────┬────────┬────────┐
- │000 │001 │010 │011 │100 │101 │110 │111 │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │FILD │ │FIST │FISTP │FBLD │FILD │FBSTP │FISTP │
- │Ed │ │Ed │Ed │Eb │Eq │Eb │Eq │
- │ │ │ │ │ │ │ │ │
- ├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- │FSTSW* │ │ │ │ │ │ │ │
- │ AX │ │ │ │ │ │ │ │
- └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- *r/m=000
-
-
- ========================================================> End of file
-
-