ªþ¿ý¤C¡@x86 CPU ªº¾Þ§@½X

8086/8088 OPCODE MAP

8086/8088 ¾Þ§@½Xªº¸ê®Æ¬O¨ú¦Û©ó http://www.mlsite.net/8086/ ºô¯¸¡Aºô¯¸ªº¸ê®Æ¤W»¡©³¤U³o±i 8086 OPCODE MAP ¬O®Ú¾Ú­^¯Sº¸¤½¥q¥Xª©ªº¡uIntel Architecture Software Developer's Manual Volume 2¡vªºªþ¿ý A §ï½s¦Ó¦¨ªº¡A§R¥h¤F 80286 ¤Î¨ä¥H«áµoªíªº CPU¡C¤p¤ì°¸·Q¡A¹ï©óªì¾ÇªÌ¦Ó¨¥¡A³oºØ²¤Æªº¸ê®Æ¡A¹ï©óªì¾ÇªÌ¬d¾\ 8086/8088 OPCODE «D±`¦³À°§U¡C

8086/8088 OPCODE Map
?0?1?2?3?4?5?6?7 ?8?9?A?B?C?D?E?F
0? ADD
Eb,Gb
ADD
Ev,Gv
ADD
Gb,Eb
ADD
Gv,Ev
ADD
AL,Ib
ADD
AX,Iv
PUSH
ES
POP
ES
OR
Eb,Gb
OR
Ev,Gv
OR
Gb,Eb
OR
Gv,Ev
OR
AL,Ib
OR
AX,Iv
PUSH
CS
1? ADC
Eb,Gb
ADC
Ev,Gv
ADC
Gb,Eb
ADC
Gv,Ev
ADC
AL,Ib
ADC
AX,Iv
PUSH
SS
POP
SS
SBB
Eb,Gb
SBB
Ev,Gv
SBB
Gb,Eb
SBB
Gv,Ev
SBB
AL,Ib
SBB
AX,Iv
PUSH
DS
POP
DS
2? AND
Eb,Gb
AND
Ev,Gv
AND
Gb,Eb
AND
Gv,Ev
AND
AL,Ib
AND
AX,Iv
ES: DAA SUB
Eb,Gb
SUB
Ev,Gv
SUB
Gb,Eb
SUB
Gv,Ev
SUB
AL,Ib
SUB
AX,Iv
CS: DAS
3? XOR
Eb,Gb
XOR
Ev,Gv
XOR
Gb,Eb
XOR
Gv,Ev
XOR
AL,Ib
XOR
AX,Iv
SS: AAA CMP
Eb,Gb
CMP
Ev,Gv
CMP
Gb,Eb
CMP
Gv,Ev
CMP
AL,Ib
CMP
AX,Iv
DS: AAS
4? INC
AX
INC
CX
INC
DX
INC
BX
INC
SP
INC
BP
INC
SI
INC
DI
DEC
AX
DEC
CX
DEC
DX
DEC
BX
DEC
SP
DEC
BP
DEC
SI
DEC
DI
5? PUSH
AX
PUSH
CX
PUSH
DX
PUSH
BX
PUSH
SP
PUSH
BP
PUSH
SI
PUSH
DI
POP
AX
POP
CX
POP
DX
POP
BX
POP
SP
POP
BP
POP
SI
POP
DI
6?

7? JO
Jb
JNO
Jb
JB
Jb
JNB
Jb
JZ
Jb
JNZ
Jb
JBE
Jb
JA
Jb
JS
Jb
JNS
Jb
JPE
Jb
JPO
Jb
JL
Jb
JGE
Jb
JLE
Jb
JG
Jb
8? GRP1
Eb,Ib
GRP1
Ev,Iv
GRP1
Eb,Ib
GRP1
Ev,Ib
TEST
Gb,Eb
TEST
Gv,Ev
XCHG
Gb,Eb
XCHG
Gv,Ev
MOV
Eb,Gb
MOV
Ev,Gv
MOV
Gb,Eb
MOV
Gv,Ev
MOV
Ew,Sw
LEA
Gv,m
MOV
Sw,Ew
POP
Ev
9? NOPXCHG
AX,CX
XCHG
AX,DX
XCHG
AX,BX
XCHG
AX,SP
XCHG
AX,BP
XCHG
AX,SI
XCHG
AX,DI
CBW CWD CALL
Ap
WAIT PUSHF POPF SAHF LAHF
A? MOV
AL,Ob
MOV
AX,Ov
MOV
Ob,AL
MOV
Ov,AX
MOVSB MOVSW CMPSB CMPSW TEST
AL,Ib
TEST
AX,Iv
STOSB STOSW LODSB LODSW SCASB SCASW
B? MOV
AL,Ib
MOV
CL,Ib
MOV
DL,Ib
MOV
BL,Ib
MOV
AH,Ib
MOV
CH,Ib
MOV
DH,Ib
MOV
BH,Ib
MOV
AX,Iv
MOV
CX,Iv
MOV
DX,Iv
MOV
BX,Iv
MOV
SP,Iv
MOV
BP,Iv
MOV
SI,Iv
MOV
DI,Iv
C? RET
Iw
RET LES
Gv,Mp
LDS
Gv,Mp
MOV
Eb,Ib
MOV
Ev,Iv
RETF
Iw
RETF INT
3
INT
Ib
INTO IRET
D? GRP2
Eb,1
GRP2
Ev,1
GRP2
Eb,CL
GRP2
Ev,CL
AAM
I0
AAD
I0
XLAT
E? LOOPNZ
Jb
LOOPZ
Jb
LOOP
Jb
JCXZ
Jb
IN
AL,Ib
IN
AX,Ib
OUT
Ib,AL
OUT
Ib,AX
CALL
Jv
JMP
Jv
JMP
Ap
JMP
Jb
IN
AL,DX
IN
AX,DX
OUT
DX,AL
OUT
DX,AX
F? LOCK REPNZ REPZ HLT CMC GRP3a
Eb
GRP3b
Ev
CLC STC CLI STI CLD STD GRP4
Eb
GRP5
Ev
?0?1?2?3?4?5?6?7 ?8?9?A?B?C?D?E?F

BYTE2 ¥»¬O Mod¡BReg¡BR/M ¤T³¡¤À¡A¦ý¦]¬° OPCODE ¤Ó¦hµLªk®e¯Ç¦b¤@­Ó¦ì¤¸²Õ¤¤¡A¦]¦¹¦³³¡¤À«ü¥Oªº¾Þ§@½X©µ¦ù¨ì BYTE2 ªº²Ä 3¡ã5 ¦ì¤¸¡C³o¼Ëªº¸Ü¡ABYTE2 ªº²Ä 3¡ã5 ¦ì¤¸¤£¦A¬O Reg ¡A¦Ó¬O OPCODE ªº©µ¦ù¡C¤Uªí¤¤³Ì¤W­±¤@¦C¡A¥Nªí BYTE2 ªº²Ä 3¡ã5 ¦ì¤¸¤§¤G¶i¦ì¼Æ­È¡C

8086/8088 OPCODE Map (OPCODE Extensions)
ModR/M bit 3-5
000001010011100101110111
GRP1 ADD OR ADC SBB AND SUB XOR CMP
GRP2 ROL ROR RCL RCR SHL SHR SAR
GRP3a TEST
Eb,Ib
NOT NEG MUL IMUL DIV IDIV
GRP3b TEST
Ev,Iv
NOT NEG MUL IMUL DIV IDIV
GRP4 INC DEC
GRP5 INC DEC CALL CALL
Ep
JMP JMP
Ep
PUSH

¤W­±ªº 8086/8088 OPCODE Map ¥H¤Î 8086/8088 OPCODE Map ( OPCODE Extensions ) ¨â±iªí®æ¤¤¡A¹Bºâ¤¸¨Ï¥Î¤F³\¦hÁY¼g¡C¨Ò¦p OPCODE ¬O 00 ªº«ü¥O¬O¡uADD Eb,Gb¡v¡A¹Bºâ¤¸ Eb¡BGb ³£¨Ï¥Î¤FÁY¼g¡A©³¤Uªºªí®æ»¡©ú¤F³o¨ÇÁY¼gªº­^¤å¦r¥À©Ò¥Nªíªº·N¸q¡C¥»ªþ¿ý«á­±¤]¦³ IA¡Ð32 ¥H¤Î x86¡Ð64 ªº OPCODE Map ¥H¤Î OPCODE Map ( OPCODE Extensions )¡A¨ä¤¤ªº¹Bºâ¤¸¤]¿í´`©³¤Uªº»¡©ú¡C

Argument Addressing Codes
A ¦¹«ü¥O¨S¦³ ModR/M ¦ì¤¸²Õ¡]¥ç§Y¨S¦³ BYTE2¡^¡A¨ä«á±µµÛªº¬O¦ì§}´N¬O¹Bºâ¤¸¡A¦¹¦ì§}¤£¥i§t¦³°ò©³«ü¼Ð¼È¦s¾¹©Î¯Á¤Þ¼È¦s¾¹¡A¾A¥Î©ó 9AH¡B0EAH ªº CALL¡BJMP «ü¥O¡C
C ModR/M ¦ì¤¸²Õªº Reg ¥u¯à¬O±±¨î¼È¦s¾¹¡]¨Ò¦p CR0¡BCR1¡BCR2¡K¡K µ¥¡^¡A¥u¦³¦b 80386 ¤Î¨äµ¥¯Å¥H¤Wªº CPU ¤~¦³¦¹Ãþ¼È¦s¾¹¡C
D ModR/M ¦ì¤¸²Õªº Reg ¥u¯à¬O°£¿ù¼È¦s¾¹¡]¨Ò¦p DR0¡BDR1¡BDR2¡K¡K µ¥¡^¡A¥u¦³¦b 80386 ¤Î¨äµ¥¯Å¥H¤Wªº CPU ¤~¦³¦¹Ãþ¼È¦s¾¹¡C
E ¦b ModR/M ¦ì¤¸²Õ¤§«á±µµÛªº¬O¹Bºâ¤¸¡A¦¹¹Bºâ¤¸¥i¯à¬O³q¥Î¼È¦s¾¹¡A¤]¥i¯à¬O°O¾ÐÅé¦ì§}¡CE ¬O­^¤å effective address ªºÁY¼g¡A·N«ä¬O¦³®Ä°O¾ÐÅé¡A¦¹¦ì§}¬O¨Ì¾Ú°ò©³«ü¼Ð¼È¦s¾¹¡B¯Á¤Þ¼È¦s¾¹¡B­¿²v¤Î°¾²¾¦ì§}­pºâ¦Ó±o¡A¨£²Ä¤Q¤E³¹¥Î¶¡±µ©w§}¦s¨ú°}¦C¡C
G ModR/M ¦ì¤¸²Õ¤¤ªº Reg Äæ¦ì¬O³q¥Î¼È¦s¾¹¡]general purpose register¡A¥]§t AX¡BCX¡BDX¡BBX¡BSP¡BBP¡BSI¡BDI ¤Î¤K¦ì¤¸ªº¼È¦s¾¹¡^¡C
I ¦¹¬°¥ß§Y­È¡]immediate value¡^¡A¥iµø¬°±`¼Æ¡A¦¹¼Æ­È·|³Q½s½X¥B¦b«ü¥Oªº«áÄò¦ì¤¸²Õ¤¤¡C
J ¦¹Ãþ«ü¥O¨S¦³ ModR/M ¦ì¤¸²Õ¡]¥ç§Y¨S¦³ BYTE2¡^¡A¨ä«á±µµÛªº¬O¬Û¹ï¦ì§}¡A¥Nªí©¹«e©Î©¹«áªº¸õÅD¶ZÂ÷¡A¦¹Ãþ«ü¥O¤j¦h«üªº¬O JE¡BJMP¡K¡K©Î LOOP µ¥µ¥
M ¦¹¹Bºâ¤¸¬°°O¾ÐÅ餺®e¡A¥Î©ó LES¡BLDS¡K¡K¡C
O ¦¹Ãþ«ü¥O¨S¦³ ModR/M ¦ì¤¸²Õ¡A¨ä«á±µµÛªº¬O¥Nªí°O¾ÐÅé¦ì§}¡A¦¹¦ì§}¤j¤p¥i¯à¬O¦r²Õ©ÎÂù¦r²Õ¡A¦ý¤£¯à¥]§t°ò©³«ü¼Ð¼È¦s¾¹¡B¯Á¤Þ¼È¦s¾¹¡B­¿¼Æ¡C³oºØ«ü¥O±q 0A0H¡ã0A3H¡C
R ModR/M ¦ì¤¸²Õªº R/M Äæ¦ì¥u¯à¬O³q¥Î¼È¦s¾¹¡A³oºØ«ü¥O¦³¨â­Ó¦ì¤¸²Õªº OPCODE¡A±q 0FH 20H¡ã0FH 24H ©M 0FH 26H¡C
S ModR/M ¦ì¤¸²Õªº Reg Äæ¦ì¥u¯à¬O°Ï¬q¼È¦s¾¹¡A¨Ò¦p Reg¡×000 ¬° ES¡AReg¡×001 ¬° CS¡A¾A¥Î©ó 8CH¡B8EH¡C
T ModR/M ¦ì¤¸²Õªº Reg Äæ¦ì¥u¯à¬O°»´ú¼È¦s¾¹¡A³oºØ«ü¥O¦³¨â­Ó¦ì¤¸²Õªº OPCODE¡A¾A¥Î©ó 0FH 24H ©M 0FH 26H¡C¥u¦³¦b 80386 ¤Î¨äµ¥¯Å¥H¤Wªº CPU ¤~¦³¦¹Ãþ¼È¦s¾¹¡C

Argument Operand Codes
0 ¦¹¹Bºâ¤¸¬O¦ì¤¸²Õ¡A¦ý»P¨ä¥L¹Bºâ¤¸¤£¦P¡A·í³oÃþ¹Bºâ¤¸¹w³]­È¬O 10¡]0AH¡^®É¡A¦b²Õ¦X»y¨¥¤£¥²¼g¥X¨Ó¡C³q±`¥Î©ó AAM ©M AAD µ¥«ü¥O¡C
a ¦¹¹Bºâ¤¸¬O¦r²Õ©ÎÂù¦r²Õ¡A¥u¥Î©ó BOUND «ü¥O¡C
b ¦¹¹Bºâ¤¸¬O¦ì¤¸²Õ¡C
d ¦¹¹Bºâ¤¸¬OÂù¦r²Õ¡]32 ¦ì¤¸ªø¡^¡C
e ¦¹¹Bºâ¤¸¥i¯à¬O 16 ¦ì¤¸ªº¼È¦s¾¹¡A¥ç¥i¯à¬O 32 ¦ì¤¸ªº¼È¦s¾¹¡C
p ¦¹¹Bºâ¤¸¬O 32 ¦ì¤¸©Î 48 ¦ì¤¸ªº¦ì§}¡]¤]¥iµø¬°¦ì§}«ü¼Ð¡^¡C
q ¦¹¹Bºâ¤¸¬O¥|¦r²Õ¡]64 ¦ì¤¸ªø¡^¡C
s ¦¹¹Bºâ¤¸¬O¤»­Ó¦ì¤¸²ÕªºµêÀÀ´y­z¾¹¡]pseudo-descriptor¡^¡C
v ¦¹¹Bºâ¤¸¬O¦r²Õ©ÎÂù¦r²Õ¡C
w ¦¹¹Bºâ¤¸¬O¦r²Õ¡A¤@­Ó¦r²Õ¥Ñ 16 ­Ó¦ì¤¸²Õ¦¨¡C

Special Argument Codes
m ¦¹¹Bºâ¤¸¬°°O¾ÐÅé¦ì§}¡A»P¸Ó°O¾ÐÅé¦ì§}ùØ­±ªº¤º®eµLÃö¡C³q±`¥Î©ó LEA «ü¥O¡C

ª`·N¨Æ¶µ

¤W­±ªº OPCODE MAP ¤¤¡A¦³´X¶µ­nª`·Nªº¨Æ±¡¡A¥²¶·µy°µ»¡©ú¡C

  1. OPCODE ¬O¤@¹D x86 «ü¥O¾÷±ñ½Xªº¤@³¡¥÷¡A§¹¾ãªº¾÷±ñ½X®æ¦¡¬O¤W¹Ï¤¤ªº²Ä¤@­Ó¦ì¤¸²ÕºÙ¬° BYTE1¡A¤]ºÙ¬° OPCODE¡A¦ì©ó³Ì§C¦ì§}¡F²Ä¤G­Ó¦ì¤¸²ÕºÙ BYTE2¡A¤]¥s ModR/M ¦ì¤¸²Õ¡A¦ì©ó¦¸°ª¦ì§}¡F¨ä¾l¨Ì¦¸©¹°ª¦ì§}¦s©ñ¡C
  2. ¦b OPCODE MAP ¤¤ªº 0FH ¦b 8086/8088 ¤¤¨S¦³½s½X¡A©Ò¥H¦b DEBUG ¤¤¡A¦p±N¥¦¤Ï²ÕĶ·|±o¨ì¡uDB 0F¡v¡]©w¸q¤@­Ó¦ì¤¸²Õ¡A¨ä­È¬° 0FH¡^¡C¦p¤U¾Þ§@¡G
    C:\>debug [Enter]
    -e 100 [Enter]
    1710:0100  00.0f [Enter]
    -u 100 [Enter]
    1710:0100 0F            DB      0F
    1710:0101 00B98AFF      ADD     [BX+DI+FF8A],BH
    ¦ý¬O¦b¥¼¨Óªº CPU ùØ¡A0FH ³Q·í°µ¬O¦h¦ì¤¸²Õ¾Þ§@½Xªº°_©l¦ì¤¸²Õ¡C
  3. OPCODE MAP ¤¤ªº 0D8H¡ã0DFH¡A³£¼Ð°O¬°¡uESC¡v¡ACPU ¹J¨ì³oºØ¾Þ§@½X¡A¥u·|­pºâ¦³Ãö¦ì§}ªº³¡¤À¡A¨ä¾l³£·|¶Çµ¹ 8087 ¦@¦P³B²z¾¹¡]¤]ºÙ¬°¯BÂI¹Bºâ¾¹¬O floating-point processor unit¡A²ºÙ¬° FPU¡^¹Bºâ¡C³o¤K­Ó¾Þ§@½X¡A³£»P¯BÂI¹Bºâªº«ü¥O¦³Ãö¡C
  4. ¾Þ§@½X 8FH¡B0C6H¡B0C7H ªº REG ¤T­Ó¦ì¤¸³£­nµ¥©ó 0¡A¨ä¥L­È¬O«Dªkªº¡A¦¹­­¨î¤£»P¨ã¦³¡uE¡v©w§}°Ñ¼Æªº¨ä¥L¾Þ§@½X¦@¨É¡A¨Ã¥B¨S¦³Åã¥Ü¦b OPCODE MAP ¤¤¡C
  5. ¾Þ§@½X 8DH »P 0C4H¡B0C5H ¨Ì§Ç¬O LEA¡BLES¡BLDS «ü¥O¡A¨ä¨Ó·½¹Bºâ¤¸·N¸q¤£¦P¡A«eªÌ¬OÀò±o°O¾ÐÅé¦ì§}¡A«á¤GªÌ¬O±N 32 ¦ì¤¸ªº°O¾ÐÅ餺®e¸ü¤J°Ï¬q¼È¦s¾¹¤Î¥Øªº¹Bºâ¤¸¤¤¡C¦ý¦bºô¸ô¤W©Ò¬d¨ìªº¤j³¡¤À¸ê®Æ³£°O¬°¡uM¡v¡A³o¸Ì¤p¤ì°¸¬°¤F°Ï§O¡A±N 8DH ªº¹Bºâ¤¸§ï¬°¡um¡v¡C
  6. OPCODE MAP ¤¤ªº 40H¡ã5FH¡A³£¬O¤@­Ó¦ì¤¸²Õªº¾÷±ñ½X´N¥Nªí¤@­Ó«ü¥O¡C
  7. ¦pªG¦³«e¸m¦ì¤¸²Õ¡A¨Ò¦p­«½Æ«ü¥O¡B­â¶V°Ï¬qµ¥¡A¨º»ò¥²¶·©ñ¦bªº OPCODE «e­±¡C
  8. ­I´º·t¬õ¦â¡]¡@¡^ªº OPCODE ¥Nªí¨S¦³¨Ï¥Î¦Ó«O¯d°_¨Ó¡C

IA¡Ð32 OPCODE MAP

IA¡Ð32 ¬O«ü±q 80386¡B80486 ¨ì Pentium 4 µ¥ 32 ¦ì¤¸ªº CPU¡A¦³§O©ó¤§«e 16 ¦ì¤¸¬[ºcªº 8086/8088 »P 80286¡C­^¯Sº¸¦b³]­p 80386 ªº®É­Ô¡A±N¨ä©w¦ì¬° 32 ¦ì¤¸ªº CPU¡A¥i¥H¦s¨ú 232 ­Ó¤£¦Pªº¦ì§}¡A¼È¦s¾¹ªº¼e«×¤]ÂX¤j¬° 32 ¦ì¤¸¡C¤£¶È¦p¦¹¡A80386 ¤S¼W¥[¤F¤@¨Ç·sªº«ü¥O¡A¨Ã¥B¤S­n¯à©M¤§«eªº 8086¡B80286 ¬Û®e¡C¦¹¥~¡A80386 ÁÙ·s¼W«OÅ@¼Ò¦¡»PµêÀÀ 86 ¼Ò¦¡¡C¦]¦¹¦b³]­p¾Þ§@½X®É¡A¹ê¦b¬O·Ù¶O­W¤ß¡C

¤U¹Ï¬O IA¡Ð32 ¾÷±ñ½X®æ¦¡¡A­^¯Sº¸±N¾÷±ñ½X¤À¬°¤»³¡¤À¡A­Ó³¡¤À¦WºÙ¦p¤U¹Ï¡G­nª`·Nªº¬O¡A¨C³¡¤À¤£¤@©w¬O¤@­Ó¦ì¤¸²Õ¡A§¹¥þ¨Ì«ü¥Oªº»Ý­n¦Ó¨M©w¡C

¥i¯à¤§«eªº 8086¡B80286 OPCODE ¤w¸g´X¥G¥eº¡¤F¤@­Ó¦ì¤¸²Õ¡A©Ò¥H¸U¤£±o¤w¡A±N 80386 ªº OPCODE ÂX¥R¡A©Ò¥H¨ä OPCODE ¦³¤@­Ó¦ì¤¸²Õ¡A¤]¦³¨â­Ó¦ì¤¸²Õ¡C¦pªG¬O¨â­Ó¦ì¤¸²Õ¡A¨º»ò²Ä¤@­Ó¦ì¤¸²Õ¥²©w¬O 0FH¡C©³¤Uªºªí®æ¬O IA¡Ð32 ªº OPCODE MAP¡A¦Ó¥B¨ä OPCODE ¬O¤@­Ó¦ì¤¸²Õ¡G

IA¡Ð32 OPCODE Map
One-byte Opcode Map
?0?1?2?3?4?5?6?7 ?8?9?A?B?C?D?E?F
0? ADD
Eb,Gb
ADD
Ev,Gv
ADD
Gb,Eb
ADD
Gv,Ev
ADD
AL,Ib
ADD
eAX,Iv
PUSH
ES
POP
ES
OR
Eb,Gb
OR
Ev,Gv
OR
Gb,Eb
OR
Gv,Ev
OR
AL,Ib
OR
eAX,Iv
PUSH
CS
2-Byte
Esc
1? ADC
Eb,Gb
ADC
Ev,Gv
ADC
Gb,Eb
ADC
Gv,Ev
ADC
AL,Ib
ADC
eAX,Iv
PUSH
SS
POP
SS
SBB
Eb,Gb
SBB
Ev,Gv
SBB
Gb,Eb
SBB
Gv,Ev
SBB
AL,Ib
SBB
eAX,Iv
PUSH
DS
POP
DS
2? AND
Eb,Gb
AND
Ev,Gv
AND
Gb,Eb
AND
Gv,Ev
AND
AL,Ib
AND
eAX,Iv
ES: DAA SUB
Eb,Gb
SUB
Ev,Gv
SUB
Gb,Eb
SUB
Gv,Ev
SUB
AL,Ib
SUB
eAX,Iv
CS: DAS
3? XOR
Eb,Gb
XOR
Ev,Gv
XOR
Gb,Eb
XOR
Gv,Ev
XOR
AL,Ib
XOR
eAX,Iv
SS: AAA CMP
Eb,Gb
CMP
Ev,Gv
CMP
Gb,Eb
CMP
Gv,Ev
CMP
AL,Ib
CMP
eAX,Iv
DS: AAS
4? INC
eAX
INC
eCX
INC
eDX
INC
eBX
INC
eSP
INC
eBP
INC
eSI
INC
eDI
DEC
eAX
DEC
eCX
DEC
eDX
DEC
eBX
DEC
eSP
DEC
eBP
DEC
eSI
DEC
eDI
5? PUSH
eAX
PUSH
eCX
PUSH
eDX
PUSH
eBX
PUSH
eSP
PUSH
eBP
PUSH
eSI
PUSH
eDI
POP
eAX
POP
eCX
POP
eDX
POP
eBX
POP
eSP
POP
eBP
POP
eSI
POP
eDI
6? PUSHA/
PUSHAD
POPA/
POPAD
BOUND
Gv,Ma
ARPL
Ew,Gw
FS:GS:Opd
Size
Addr
Size
PUSH
Iv
IMUL
Gv,Ev,Iv
PUSH
Ib
IMUL
Gv,Ev,Iv
INSB
Yb,DX
INSW/
INSD
Yv,DX
OUTSB
DX,Xb
OUTSW/
OUTSD
DX,Xv
7? JO
Jb
JNO
Jb
JB
Jb
JNB
Jb
JZ
Jb
JNZ
Jb
JBE
Jb
JA
Jb
JS
Jb
JNS
Jb
JPE
Jb
JPO
Jb
JL
Jb
JGE
Jb
JLE
Jb
JG
Jb
8? GRP1
Eb,Ib
GRP1
Ev,Iv
GRP1
Eb,Ib
GRP1
Ev,Ib
TEST
Gb,Eb
TEST
Gv,Ev
XCHG
Gb,Eb
XCHG
Gv,Ev
MOV
Eb,Gb
MOV
Ev,Gv
MOV
Gb,Eb
MOV
Gv,Ev
MOV
Ew,Sw
LEA
Gv,m
MOV
Sw,Ew
POP
Ev
9? NOPXCHG
eAX,eCX
XCHG
eAX,eDX
XCHG
eAX,eBX
XCHG
eAX,eSP
XCHG
eAX,eBP
XCHG
eAX,eSI
XCHG
eAX,eDI
CBW/
CWDE
CWD/
CDQ
CALLF
Ap
WAIT PUSHF/
PUSHFD
POPF/
POPFD
SAHFLAHF
A? MOV
AL,Ob
MOV
eAX,Ov
MOV
Ob,AL
MOV
Ov,eAX
MOVSBMOVSW/
MOVSD
CMPSBCMPSW/
CMPSD
TEST
AL,Ib
TEST
eAX,Iv
STOSBSTOSW/
STOSD
LODSBLODSW/
LODSD
SCASBSCASW/
SCASD
B? MOV
AL,Ib
MOV
CL,Ib
MOV
DL,Ib
MOV
BL,Ib
MOV
AH,Ib
MOV
CH,Ib
MOV
DH,Ib
MOV
BH,Ib
MOV
eAX,Iv
MOV
eCX,Iv
MOV
eDX,Iv
MOV
eBX,Iv
MOV
eSP,Iv
MOV
eBP,Iv
MOV
eSI,Iv
MOV
eDI,Iv
C? GRP2
Eb,Ib
GRP2
Ev,Ib
RET
Iw
RET LES
Gv,Mp
LDS
Gv,Mp
GRP11a
Eb,Ib
GRP11b
Ev,Iv
ENTER
Iw,Ib
LEAVERETF
Iw
RETFINT
3
INT
Ib
INTOIRET
D? GRP2
Eb,1
GRP2
Ev,1
GRP2
Eb,CL
GRP2
Ev,CL
AAM
Ib
AAD
Ib
XLAT
E? LOOPNZ
Jb
LOOPZ
Jb
LOOP
Jb
JCXZ
Jb
IN
AL,Ib
IN
eAX,Ib
OUT
Ib,AL
OUT
Ib,eAX
CALL
Jv
JMP
Jv
JMP
Ap
JMP
Jb
IN
AL,DX
IN
eAX,DX
OUT
DX,AL
OUT
DX,eAX
F? LOCKREPNZREPZHLTCMCGRP3a
Eb
GRP3b
Ev
CLCSTCCLISTICLDSTD GRP4
Eb
GRP5
Ev

¤U­±ªºªí®æ¬O¨â­Ó¦ì¤¸²Õªº IA¡Ð32 OPCODE¡A¨Ã¥B²Ä¤@­Ó¦ì¤¸²Õ¬O 0F0H¡A¦]¦¹¤Uªí¶È¦C¥X OPCODE ¤¤²Ä¤G­Ó¦ì¤¸²Õ¡G

IA¡Ð32 OPCODE Map
Two-byte Opcode Map( First Byte is 0FH )
X0X1X2X3X4X5X6X7 X8X9XAXBXCXDXEXF
0? GRP6GRP7 LAR
Gv,Ew
LSL
Gv,Ew
CLTS INVDWBINVDUD2
1?
2? MOV
Rd,Cd
MOV
Rd,Dd
MOV
Cd,Rd
MOV
Dd,Rd
MOV
Rd,Td
MOV
Td,Rd
3? WRMSRRDTSCRDMSRRDPMCSYSENTERSYSEXIT MOVNTI
Gv,Ev
4? CMOVO
Gv,Ev
CMOVNO
Gv,Ev
CMOVB
Gv,Ev
CMOVNB
Gv,Ev
CMOVZ
Gv,Ev
CMOVNZ
Gv,Ev
CMOVBE
Gv,Ev
CMOVA
Gv,Ev
CMOVS
Gv,Ev
CMOVNS
Gv,Ev
CMOVPE
Gv,Ev
CMOVPO
Gv,Ev
CMOVL
Gv,Ev
CMOVGE
Gv,Ev
CMOVLE
Gv,Ev
CMOVG
Gv,Ev
5?
6?
7? GRP12GRP13GRP14
8? JO
Jb
JNO
Jb
JB
Jb
JNB
Jb
JZ
Jb
JNZ
Jb
JBE
Jb
JA
Jb
JS
Jb
JNS
Jb
JPE
Jb
JPO
Jb
JL
Jb
JGE
Jb
JLE
Jb
JG
Jb
9? SETO
Eb
SETNO
Eb
SETB
Eb
SETNB
Eb
SETZ
Eb
SETNZ
Eb
SETBE
Eb
SETA
Eb
SETS
Eb
SETNS
Eb
SETPE
Eb
SETPO
Eb
SETL
Eb
SETGE
Eb
SETLE
Eb
SETG
Eb
A? PUSH
FS
POP
FS
CPUID BT
Ev,Gv
SHLD
Ev,Gv,Ib
SHLD
Ev,Gv,CL
PUSH
GS
POP
GS
RSM BTS
Ev,Gv
SHRD
Ev,Gv,Ib
SHRD
Ev,Gv,CL
GRP15IMUL
Gv,Ev
B? CMPXCHG
Eb,Gb
CMPXCHG
Ev,Gv
LSS
Gv,Mp
BTR
Ev,Gv
LFS
Gv,Mp
LGS
Gv,Mp
MOVZX
Gv,Eb
MOVZX
Gv,Ew
GRP10 GRP8
Ev,Ib
BTC
Ev,Gv
BSF
Gv,Ev
BSR
Gv,Ev
MOVSX
Gv,Eb
MOVSX
Gv,Ew
C? XADD
Eb,Gb
XADD
Ev,Gv
MOVNTI
Ed,Gd
GRP9 BSWAP
EAX
BSWAP
ECX
BSWAP
EDX
BSWAP
EBX
BSWAP
ESP
BSWAP
EBP
BSWAP
ESI
BSWAP
EDI
D?
E?
F?
?0?1?2?3?4?5?6?7 ?8?9?A?B?C?D?E?F

¸ò 8086/8088 ¤@¼Ë¡AIA¡Ð32 ¤¤¤]¦³§â ModR/M ¤¤ªº²Ä 3¡ã5 ­Ó¦ì¤¸·í°µ OPCODE ªº©µ¦ù¡C¦ý¬O IA¡Ð32 ¤ñ 8086/8088 ¦h±o¦h¡A³o¨Ç©µ¦ùªº OPCODE ¦C¦b¤Uªí¡G

IA¡Ð32 OPCODE Map (OPCODE Extensions)
GRPOPCODEModR/M bit 3-5
000001010011100101110111
GRP180-83 ADD OR ADC SBB AND SUB XOR CMP
GRP2D0-D3 ROL ROR RCL RCR SHL SHR SAR
GRP3aF6 TEST
Eb,Ib
NOT NEG MUL IMUL DIV IDIV
GRP3bF7 TEST
Ev,Iv
NOT NEG MUL IMUL DIV IDIV
GRP4FE INC DEC
GRP5FF INC DEC CALL CALL
Ep
JMP JMP
Ep
PUSH
GRP60F 00 SLDT
Ew
STR
Ev
LLDT
Ew
LTR
Ew
VERR
Ew
VERW
Ew
GRP70F 01 SGDT
Ms
SIDT
Ms
LGDT
Ms
LIDT
Ms
SMSW
Ew
LMSW
Ew
INVLPG
Mb
GRP80F BA BTBTSBTRBTC
GRP90F C7 CMPXCH8B
Mq
GRP100F B9
GRP11aC6 MOV
Eb,Ib
GRP11bC7 MOV
Ev,Iv
GRP120F 71
GRP130F 72
GRP140F 73
GRP150F AE CLFLUSH
GRP160F 18

x86¡Ð64 OPCODE MAP

x86¡Ð64 CPU ¬O«ü