Skip to content

Instantly share code, notes, and snippets.

@meh
Created July 6, 2009 13:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save meh/141437 to your computer and use it in GitHub Desktop.
Save meh/141437 to your computer and use it in GitHub Desktop.
IA32 opcodes list (partial)
All values are hexadecimal.
If [reg32] is [esp] add 24 at the end.
00 00-3f add [reg32],reg8
00 40-7f xx add [reg32+xx],reg8
01 00-3f add [reg32],reg32
01 40-7f xx add [reg32+xx],reg32
01 c0-ff add reg32,reg32
02 00-3f add reg8,[reg32]
02 40-7f xx add reg8,[reg32+xx]
03 00-3f add reg32,[reg32]
03 40-7f xx add reg32,[reg32+xx]
05 xx xx xx xx add eax,xx
08 00-3f or [reg32],reg8
08 40-7f xx or [reg32+xx],reg8
09 00-3f or [reg32],reg32
09 40-7f xx or [reg32+xx],reg32
09 c0-ff or reg32,reg32
0a 00-3f or reg8,[reg32]
0a 40-7f xx or reg8,[reg32+xx]
0b 00-3f or reg32,[reg32]
0b 40-7f xx or reg32,[reg32+xx]
0d xx xx xx xx or eax,xx
08 00-3f adc [reg32],reg8
08 40-7f xx adc [reg32+xx],reg8
0f a2 cpuid
10 00-3f adc [reg32],reg8
10 40-7f xx adc [reg32+xx],reg8
11 00-3f adc [reg32],reg32
11 40-7f xx adc [reg32+xx],reg32
11 c0-ff adc reg32,reg32
12 00-3f adc reg8,[reg32]
12 40-7f xx adc reg8,[reg32+xx]
13 00-3f adc reg32,[reg32]
13 40-7f xx adc reg32,[reg32+xx]
15 xx xx xx xx adc eax,xx
18 00-3f sbb [reg32],reg8
18 40-7f xx sbb [reg32+xx],reg8
19 00-3f sbb [reg32],reg32
19 40-7f xx sbb [reg32+xx],reg32
19 c0-ff sbb reg32,reg32
1a 00-3f sbb reg8,[reg32]
1a 40-7f xx sbb reg8,[reg32+xx]
1b 00-3f sbb reg32,[reg32]
1b 40-7f xx sbb reg32,[reg32+xx]
1d xx xx xx xx sbb eax,xx
20 00-3f and [reg32],reg8
20 40-7f xx and [reg32+xx],reg8
21 00-3f and [reg32],reg32
21 40-7f xx and [reg32+xx],reg32
21 c0-ff and reg32,reg32
22 00-3f and reg8,[reg32]
22 40-7f xx and reg8,[reg32+xx]
23 00-3f and reg32,[reg32]
23 40-7f xx and reg32,[reg32+xx]
25 xx xx xx xx and eax,xx
27 daa
28 00-3f sub [reg32],reg8
28 40-7f xx sub [reg32+xx],reg8
29 00-3f sub [reg32],reg32
29 40-7f xx sub [reg32+xx],reg32
29 c0-ff sub reg32,reg32
2a 00-3f sub reg8,[reg32]
2a 40-7f xx sub reg8,[reg32+xx]
2b 00-3f sub reg32,[reg32]
2b 40-7f xx sub reg32,[reg32+xx]
2f das
2d xx xx xx xx sub eax,xx
30 00-3f xor [reg32],reg8
30 40-7f xx xor [reg32+xx],reg8
31 00-3f xor [reg32],reg32
31 40-7f xx xor [reg32+xx],reg32
31 c0-ff xor reg32,reg32
32 00-3f xor reg8,[reg32]
32 40-7f xx xor reg8,[reg32+xx]
33 00-3f xor reg32,[reg32]
33 40-7f xx xor reg32,[reg32+xx]
35 xx xx xx xx xor eax,xx
37 aaa
38 00-3f cmp [reg32],reg8
38 40-7f xx cmp [reg32+xx],reg8
39 00-3f cmp [reg32],reg32
39 40-7f xx cmp [reg32+xx],reg32
39 c0-ff cmp reg32,reg32
3a 00-3f cmp reg8,[reg32]
3a 40-7f xx cmp reg8,[reg32+xx]
3b 00-3f cmp reg32,[reg32]
3b 40-7f xx cmp reg32,[reg32+xx]
3d xx xx xx xx cmp eax,xx
40-47 inc reg32
48-4f dec reg32
50-57 push reg
58-5f pop reg
60 pusha
61 popa
68 push xx xx xx xx
70 xx jo xx
71 xx jno xx
72 xx jb xx
73 xx jae xx
74 xx je xx
75 xx jne xx
76 xx jbe xx
77 xx ja xx
78 xx js xx
79 xx jns xx
7a xx jp xx
7b xx jnp xx
7c xx jl xx
7d xx jge xx
7e xx jle xx
7f xx jg xx
81 c0-c7 xx xx xx xx add reg32,xx
81 c8-cf xx xx xx xx or reg32,xx
81 d0-d7 xx xx xx xx adc reg32,xx
81 d8-df xx xx xx xx sbb reg32,xx
81 e0-e7 xx xx xx xx sbb reg32,xx
81 e8-ef xx xx xx xx sub reg32,xx
81 f0-f7 xx xx xx xx xor reg32,xx
81 f8-ff xx xx xx xx cmp reg32,xx
84 00-3f test [reg32],reg8
84 40-7f xx test [reg32+xx],reg8
85 00-3f test [reg32],reg32
85 40-7f xx test [reg32+xx],reg32
85 c0-ff test reg32,reg32
86 c0-ff xchg reg8,reg8
87 00-3f xchg [reg32],reg32
87 40-7f xx xchg [reg32+xx],reg32
87 c0-ff xchg reg32,reg32
88 00-3f mov [reg32],reg8
88 40-7f xx mov [reg32+xx],reg8
89 00-3f mov [reg32],reg32
89 40-7f xx mov [reg32+xx],reg32
89 c0-ff mov reg32,reg32
8a 00-3f mov reg8,[reg32]
8a 40-7f xx mov reg8,[reg32+xx]
8b 00-3f mov reg32,[reg32]
8b 40-7f xx mov reg32,[reg32+xx]
8d 00-3f lea reg32,[reg32]
90 nop
91-97 xchg eax,reg32
98 cwtl
99 cltd
9b fwait
9c pushf
9d popf
9e sahf
9f lahf
b0-b7 xx mov reg8,xx
b8-bf xx xx xx xx mov reg32,xx
c4 00-3f les reg32,[reg32]
c5 00-3f lds reg32,[reg32]
e0 xx loopne xx
e1 xx loope xx
e2 xx loop xx
e8 xx xx xx xx call xx xx xx xx
e9 xx xx xx xx jmp xx xx xx xx
eb xx jmp x
c3 ret
c9 leave
cd xx int xx
cb retf
ce into
cf iret
e4 xx in al,xx
e5 xx in eax,xx
e6 xx out xx,al
e7 xx out xx,eax
ec in al,dx
ed in eax,dx
ee out dx,al
ef out dx,eax
f4 hlt
f5 cmc
f6 d0-d7 not reg8
f6 d8-df neg reg8
f7 d0-d7 not reg32
f7 d8-df neg reg32
f8 clc
f9 stc
fa cli
fb sti
fc cld
fd std
fe c0-c7 inc reg8
fe c8-cf dec reg8
ff 50-57 xx call [reg+xx]
ff 60-67 xx jmp [reg+xx]
ff d0-d7 call reg
ff e0-e7 jmp reg
@c-urly
Copy link

c-urly commented Jun 22, 2017

Thank you,Very much appreciate it.Can i ask how did you make the list?From IA32 Instruction Set?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment