IA-32 architecture opcode groups
mod R/M |
xx000xxx |
xx001xxx |
xx010xxx |
xx011xxx |
xx100xxx |
xx101xxx |
xx110xxx |
xx111xxx |
group #1 (80..83h) |
ADD |
OR |
ADC |
SBB |
AND |
SUB |
XOR |
CMP |
group #2 (C0..C1h) (D0..D3h) |
ROL |
ROR |
RCL |
RCR |
SHL |
SHR |
SAL* |
SAR |
group #3 (F6..F7h) |
TEST Ib/Iv |
TEST* Ib/Iv |
NOT |
NEG |
MUL AL/eAX |
IMUL AL/eAX |
DIV AL/eAX |
IDIV AL/eAX |
group #4 (FEh) |
INC Eb |
DEC Eb |
|
|
|
|
|
|
group #5 (FFh) |
INC Ev |
DEC Ev |
CALL Ev |
CALL Mp |
JMP Ev |
JMP Mp |
PUSH Ev |
|
group #6 (0Fh,00h) |
SLDT Mw SLDT Gv |
STR Mw STR Gv |
LLDT Mw LLDT Gv |
LTR Mw LTR Gv |
VERR Mw VERR Gv |
VERW Mw VERW Gv |
JMPE Ev (IA-64) |
|
group #7 (0Fh,01h) |
SGDT Ms |
SIDT Ms |
LGDT Ms |
LIDT Ms |
SMSW Mw SMSW Gv |
|
LMSW Mw LMSW Gv |
INVLPG M (80486+) |
group #8 (0Fh,BAh) |
|
|
|
|
BT |
BTS |
BTR |
BTC |
group #9 (0Fh,C7h) |
|
CMPXCHG Mq (see CPUID) |
|
|
|
|
|
|
group #10 (8Fh) |
POP Ev |
|
|
|
|
|
|
|
group #11 (0Fh,B9h) |
UD2 |
UD2 |
UD2 |
UD2 |
UD2 |
UD2 |
UD2 |
UD2 |
group #12 (C6h) (C7h) |
MOV |
|
|
|
|
|
|
|
group #13 (0Fh,71h) |
|
|
PSRLW Pq,Ib (MMX) (66h) PSRLW Vo,Ib (SSE2) |
|
PSRAW Pq,Ib (MMX) (66h) PSRAW Vo,Ib (SSE2) |
|
PSLLW Pq,Ib (MMX) (66h) PSLLW Vo,Ib (SSE2) |
|
group #14 (0Fh,72h) |
|
|
PSRLD Pq,Ib (MMX) (66h) PSRLD Vo,Ib (SSE2) |
|
PSRAD Pq,Ib (MMX) (66h) PSRAD Vo,Ib (SSE2) |
|
PSLLD Pq,Ib (MMX) (66h) PSLLD Vo,Ib (SSE2) |
|
group #15 (0Fh,73h) |
|
|
PSRLQ Pq,Ib (MMX) (66h) PSRLQ Vo,Ib (SSE2) |
(66h) PSRLDQ Vo,Ib (SSE2) |
|
|
PSLLQ Pq,Ib (MMX) (66h) PSLLQ Vo,Ib (SSE2) |
(66h) PSLLDQ Vo,Ib (SSE2) |
group #16 (0Fh,AEh) |
FXSAVE M512 (see CPUID) |
FXRSTOR M512 (see CPUID) |
LDMXCSR Md (SSE) |
STMXCSR Md (SSE) |
|
LFENCE (SSE2-MEM) |
MFENCE (SSE2-MEM) |
CLFLUSH M (see CPUID) SFENCE (SSE-MEM) |
group #17 (0Fh,18h) |
PREFETCH- NTA M (SSE-MEM) |
PREFETCH- T0 M (SSE-MEM) |
PREFETCH- T1 M (SSE-MEM) |
PREFETCH- T2 M (SSE-MEM) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
note: The opcodes marked with * are aliases to other opcodes.
|