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
?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? | NOP | XCHG 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
ModR/M bit 3-5 | ||||||||
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |
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
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 |
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¤»Ó¦ì¤¸²ÕªºµêÀÀ´yz¾¹¡]pseudo-descriptor¡^¡C |
v | ¦¹¹Bºâ¤¸¬O¦r²Õ©ÎÂù¦r²Õ¡C |
w | ¦¹¹Bºâ¤¸¬O¦r²Õ¡A¤@Ó¦r²Õ¥Ñ 16 Ӧ줸²Õ¦¨¡C |
m | ¦¹¹Bºâ¤¸¬°°O¾ÐÅé¦ì§}¡A»P¸Ó°O¾ÐÅé¦ì§}ùرªº¤º®eµLÃö¡C³q±`¥Î©ó LEA «ü¥O¡C |
¤W±ªº OPCODE MAP ¤¤¡A¦³´X¶µnª`·Nªº¨Æ±¡¡A¥²¶·µy°µ»¡©ú¡C
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
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¤Sn¯à©M¤§«eªº 8086¡B80286 ¬Û®e¡C¦¹¥~¡A80386 ÁÙ·s¼W«OÅ@¼Ò¦¡»PµêÀÀ 86 ¼Ò¦¡¡C¦]¦¹¦b³]p¾Þ§@½X®É¡A¹ê¦b¬O·Ù¶OW¤ß¡C
¤U¹Ï¬O IA¡Ð32 ¾÷±ñ½X®æ¦¡¡A^¯Sº¸±N¾÷±ñ½X¤À¬°¤»³¡¤À¡AÓ³¡¤À¦WºÙ¦p¤U¹Ï¡Gnª`·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
?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? | NOP | XCHG 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 | SAHF | LAHF |
A? | MOV AL,Ob |
MOV eAX,Ov |
MOV Ob,AL |
MOV Ov,eAX |
MOVSB | MOVSW/ MOVSD | CMPSB | CMPSW/ CMPSD |
TEST AL,Ib |
TEST eAX,Iv |
STOSB | STOSW/ STOSD | LODSB | LODSW/ LODSD | SCASB | SCASW/ 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 |
LEAVE | RETF Iw | RETF | INT 3 |
INT Ib | INTO | IRET |
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? | LOCK | REPNZ | REPZ | HLT | CMC | GRP3a Eb |
GRP3b Ev | CLC | STC | CLI | STI | CLD | STD | GRP4 Eb | GRP5 Ev |
¤U±ªºªí®æ¬O¨âӦ줸²Õªº IA¡Ð32 OPCODE¡A¨Ã¥B²Ä¤@Ӧ줸²Õ¬O 0F0H¡A¦]¦¹¤Uªí¶È¦C¥X OPCODE ¤¤²Ä¤GӦ줸²Õ¡G
X0 | X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | X9 | XA | XB | XC | XD | XE | XF | |
0? | GRP6 | GRP7 | LAR Gv,Ew |
LSL Gv,Ew |
CLTS | INVD | WBINVD | UD2 | ||||||||
1? | ||||||||||||||||
2? | MOV Rd,Cd |
MOV Rd,Dd |
MOV Cd,Rd |
MOV Dd,Rd |
MOV Rd,Td |
MOV Td,Rd |
||||||||||
3? | WRMSR | RDTSC | RDMSR | RDPMC | SYSENTER | SYSEXIT | 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? | GRP12 | GRP13 | GRP14 | |||||||||||||
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 |
GRP15 | IMUL 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
GRP | OPCODE | ModR/M bit 3-5 | |||||||
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||
GRP1 | 80-83 | ADD | OR | ADC | SBB | AND | SUB | XOR | CMP |
GRP2 | D0-D3 | ROL | ROR | RCL | RCR | SHL | SHR | SAR | |
GRP3a | F6 | TEST Eb,Ib |
NOT | NEG | MUL | IMUL | DIV | IDIV | |
GRP3b | F7 | TEST Ev,Iv |
NOT | NEG | MUL | IMUL | DIV | IDIV | |
GRP4 | FE | INC | DEC | ||||||
GRP5 | FF | INC | DEC | CALL | CALL Ep |
JMP | JMP Ep |
PUSH | |
GRP6 | 0F 00 | SLDT Ew |
STR Ev |
LLDT Ew |
LTR Ew |
VERR Ew |
VERW Ew |
||
GRP7 | 0F 01 | SGDT Ms |
SIDT Ms |
LGDT Ms |
LIDT Ms |
SMSW Ew |
LMSW Ew |
INVLPG Mb | |
GRP8 | 0F BA | BT | BTS | BTR | BTC | ||||
GRP9 | 0F C7 | CMPXCH8B Mq |
|||||||
GRP10 | 0F B9 | ||||||||
GRP11a | C6 | MOV Eb,Ib |
|||||||
GRP11b | C7 | MOV Ev,Iv |
|||||||
GRP12 | 0F 71 | ||||||||
GRP13 | 0F 72 | ||||||||
GRP14 | 0F 73 | ||||||||
GRP15 | 0F AE | CLFLUSH | |||||||
GRP16 | 0F 18 |
x86¡Ð64 CPU ¬O«ü