282 lines
5.9 KiB
Plaintext
282 lines
5.9 KiB
Plaintext
adc: class base_arithmetic(/2, 15, 11, 13)
|
|
adcx: class unsigned_add_flag(66)
|
|
add: class base_arithmetic(/0, 05, 01, 03)
|
|
adox: class unsigned_add_flag(f3)
|
|
and: class base_arithmetic(/4, 25, 21, 23)
|
|
bsf:
|
|
r16, rm16 [rm: rex.r 0f bc /r]
|
|
r32, rm32 [rm: 0f bc /r]
|
|
r64, rm64 [rm: rex.w 0f bc /r]
|
|
bsr:
|
|
r16, rm16 [rm: rex.r 0f bd /r]
|
|
r32, rm32 [rm: 0f bd /r]
|
|
r64, rm64 [rm: rex.w 0f bd /r]
|
|
bswap:
|
|
r32 [o: 0f c8+r]
|
|
r64 [o: rex.w 0f c8+r]
|
|
bt: class bittest(/4, a3)
|
|
btc: class bittest(/7, bb)
|
|
btr: class bittest(/6, b3)
|
|
bts: class bittest(/5, ab)
|
|
call:
|
|
rel [d: e8 rel32]
|
|
rm64 [m: ff /2]
|
|
cbw: [zo: rex.r 98]
|
|
cwde: [zo: 98]
|
|
cwqe: [zo: rex.w 98]
|
|
clc: [zo: f8]
|
|
cld: [zo: fd]
|
|
clflush: m8 [m: 0f ae /7]
|
|
clflushopt: m8 [m: 66 0f ae /7]
|
|
cli: [zo: fa]
|
|
clts: [zo: 0f 06]
|
|
cmc: [zo: f5]
|
|
cmovcc: class cmov
|
|
cmp: class base_arithmetic(/7, 3d, 39, 3b)
|
|
cmpsb: [zo: a6]
|
|
cmpsw: [zo: a7]
|
|
cmpsd: [zo: a7]
|
|
cmpsq: [zo: a7]
|
|
cmpxchg:
|
|
rm8, r8 [mr: 0f b0]
|
|
rm16, r16 [mr: 0f b1]
|
|
rm32, r32 [mr: 0f b1]
|
|
rm64, r64 [mr: 0f b1]
|
|
cmpxchg8b: m64 [m: 0f c7 /1]
|
|
cmpxchg16b: m64 [m: rex.w 0f c7 /1]
|
|
cpuid: [zo: 0f a2]
|
|
crc32:
|
|
r32, rm8 [rm: f2 0f 38 f0]
|
|
r32, rm16 [rm: 66 f2 0f 38 f1]
|
|
r32, rm32 [rm: f2 0f 38 f1]
|
|
r64, rm8 [rm: f2 rex.w 0f 38 f0]
|
|
r64, rm64 [rm: f2 rex.w 0f 38 f1]
|
|
dec:
|
|
rm8 [m: fe /1]
|
|
rm16 [m: fe /1]
|
|
rm32 [m: fe /1]
|
|
rm64 [m: fe /1]
|
|
div:
|
|
rm8 [m: f6 /6]
|
|
rm16 [m: f7 /6]
|
|
rm32 [m: f7 /6]
|
|
rm64 [m: f7 /6]
|
|
hlt: [zo: f4]
|
|
idiv:
|
|
rm8 [m: f6 /7]
|
|
rm16 [m: f7 /7]
|
|
rm32 [m: f7 /7]
|
|
rm64 [m: f7 /7]
|
|
imul:
|
|
rm8 [m: f6 /5]
|
|
rm16 [m: f7 /5]
|
|
rm32 [m: f7 /5]
|
|
rm64 [m: f7 /5]
|
|
r16, rm16 [rm: 0f af]
|
|
r32, rm32 [rm: 0f af]
|
|
r64, rm64 [rm: 0f af]
|
|
r16, rm16, imm [rmi: 6b ib]
|
|
r32, rm32, imm [rmi: 6b ib]
|
|
r64, rm64, imm [rmi: 6b ib]
|
|
r16, rm16, imm16 [rmi: 69 iw]
|
|
r32, rm32, imm32 [rmi: 69 id]
|
|
r64, rm64, imm32 [rmi: 69 id]
|
|
in:
|
|
al, imm8 [-i: e4 ib]
|
|
ax, imm8 [-i: e5 ib]
|
|
eax, imm8 [-i: e5 ib]
|
|
al, dx [--: ec]
|
|
ax, dx [--: ed]
|
|
eax, dx [--: ed]
|
|
inc:
|
|
rm8 [m: fe /0]
|
|
rm16 [m: fe /0]
|
|
rm32 [m: fe /0]
|
|
rm64 [m: fe /0]
|
|
insb: [zo: 6c]
|
|
insw: [zo: 6d]
|
|
insd: [zo: 6d]
|
|
int: imm [i: cd ib]
|
|
int3: [zo: cc]
|
|
invd: [zo: 0f 08]
|
|
invlpg: m8 [m: 0f 01 /7]
|
|
iret: [zo: 66 cf]
|
|
iretd: [zo: cf]
|
|
iretq: [zo: rex.w cf]
|
|
jmp:
|
|
rel [d: eb rel8]
|
|
rel [d: e9 rel32]
|
|
rm64 [m: ff /4]
|
|
jcc: class jcc
|
|
jrcxz: rel [d: e3 rel8]
|
|
lahf: [zo: 9f]
|
|
lea:
|
|
r16, m16 [rm: 8d /r]
|
|
r32, m32 [rm: 8d /r]
|
|
r64, m64 [rm: 8d /r]
|
|
lodsb: [zo: ac]
|
|
lodsw: [zo: ad]
|
|
lodsd: [zo: ad]
|
|
lodsq: [zo: ad]
|
|
loop: rel [d: e2 rel8]
|
|
loope: rel [d: e1 rel8]
|
|
loopne: rel [d: e0 rel8]
|
|
monitor: [zo: 0f 01 c8]
|
|
mov:
|
|
rm8, r8 [mr: 88 /r]
|
|
rm16, r16 [mr: 89 /r]
|
|
rm32, r32 [mr: 89 /r]
|
|
rm64, r64 [mr: 89 /r]
|
|
r8, rm8 [rm: 8a /r]
|
|
r16, rm16 [rm: 8b /r]
|
|
r32, rm32 [rm: 8b /r]
|
|
r64, rm64 [rm: 8b /r]
|
|
r8, imm [ri: b0+r ib]
|
|
r16, imm [ri: b8+r iw]
|
|
r32, imm [ri: b8+r id]
|
|
r64, imm [ri: b8+r iq]
|
|
r8, imm [ri: c6 /0 ib]
|
|
r16, imm [ri: c7 /0 iw]
|
|
r32, imm [ri: c7 /0 id]
|
|
r64, imm [ri: c7 /0 id]
|
|
movsb: [zo: a4]
|
|
movsw: [zo: a5]
|
|
movsd: [zo: a5]
|
|
movsq: [zo: a5]
|
|
movsx:
|
|
r16, rm8 [rm: 0f be /r]
|
|
r32, rm8 [rm: 0f be /r]
|
|
r64, rm8 [rm: 0f be /r]
|
|
r32, rm16 [rm: 0f bf /r]
|
|
r64, rm16 [rm: 0f bf /r]
|
|
movsxd: r64, rm32 [rm: rex.w 63 /r]
|
|
movzx:
|
|
r16, rm8 [rm: 0f b6 /r]
|
|
r32, rm8 [rm: 0f b6 /r]
|
|
r64, rm8 [rm: 0f b6 /r]
|
|
r32, rm16 [rm: 0f b7 /r]
|
|
r64, rm16 [rm: 0f b7 /r]
|
|
mul:
|
|
rm8 [m: f6 /4]
|
|
rm16 [m: f7 /4]
|
|
rm32 [m: f7 /4]
|
|
rm64 [m: f7 /4]
|
|
mwait: [zo: 0f 01 c9]
|
|
neg:
|
|
rm8 [m: f6 /3]
|
|
rm16 [m: f7 /3]
|
|
rm32 [m: f7 /3]
|
|
rm64 [m: f7 /3]
|
|
nop:
|
|
[zo: 90]
|
|
rm16 [m: 0f 1f /0]
|
|
rm32 [m: 0f 1f /0]
|
|
not:
|
|
rm8 [m: f6 /2]
|
|
rm16 [m: f7 /2]
|
|
rm32 [m: f7 /2]
|
|
rm64 [m: f7 /2]
|
|
or: class base_arithmetic(/1, 0d, 09, 0b)
|
|
out:
|
|
imm, al [i-: e6 ib]
|
|
imm, ax [i-: e7 ib]
|
|
imm, ax [i-: e7 ib]
|
|
pause: [zo: f3 90]
|
|
pop:
|
|
rm16 [m: 8f /0]
|
|
rm64 [m: 8f /0]
|
|
r16 [o: 58+r]
|
|
r64 [o: 58+r]
|
|
popcnt:
|
|
r16, rm16 [rm: f3 0f b8 /r]
|
|
r32, rm32 [rm: f3 0f b8 /r]
|
|
r64, rm64 [rm: f3 0f b8 /r]
|
|
popf: [zo: 66 9d]
|
|
popfq: [zo: 9d]
|
|
prefetcht0: m8 [m: 0f 18 /1]
|
|
prefetcht1: m8 [m: 0f 18 /2]
|
|
prefetcht2: m8 [m: 0f 18 /3]
|
|
prefetchnta: m8 [m: 0f 18 /0]
|
|
push:
|
|
rm16 [m: ff /6]
|
|
rm64 [m: ff /6]
|
|
r16 [o: 50+r]
|
|
r64 [o: 50+r]
|
|
imm [i: 6a ib]
|
|
imm [i: 68 iw]
|
|
imm [i: 68 id]
|
|
pushf: [zo: 66 9c]
|
|
pushfq: [zo: 9c]
|
|
rol: class rotate(/0)
|
|
ror: class rotate(/1)
|
|
rcl: class rotate(/2)
|
|
rcr: class rotate(/3)
|
|
rdmsr: [zo: 0f 32]
|
|
rdpmc: [zo: 0f 33]
|
|
rdtsc: [zo: 0f 31]
|
|
rdtscp: [zo: 0f 01 f9]
|
|
ret:
|
|
[zo: c3]
|
|
imm [i: c2 iw]
|
|
retf:
|
|
[zo: cb]
|
|
imm [i: ca iw]
|
|
rsm: [zo: 0f aa]
|
|
sal: class shift(/4)
|
|
sar: class shift(/7)
|
|
shl: class shift(/4)
|
|
shr: class shift(/5)
|
|
scasb: [zo: ae]
|
|
scasw: [zo: af]
|
|
scasd: [zo: af]
|
|
scasq: [zo: af]
|
|
setcc: class setcc
|
|
stc: [zo: f9]
|
|
std: [zo: fd]
|
|
sti: [zo: fb]
|
|
stosb: [zo: aa]
|
|
stosw: [zo: ab]
|
|
stosd: [zo: ab]
|
|
stosq: [zo: ab]
|
|
sub: class base_arithmetic(/5, 2d, 29, 2b)
|
|
syscall: [zo: 0f 05]
|
|
sysenter: [zo: 0f 34]
|
|
sysexit: [zo: 0f 35]
|
|
sysret: [zo: 0f 07]
|
|
test:
|
|
al, imm8 [-i: a8 ib]
|
|
ax, imm16 [-i: a9 iw]
|
|
eax, imm32 [-i: a9 id]
|
|
rax, imm32 [-i: a9 id]
|
|
rm8, imm8 [mi: f6 /0 ib]
|
|
rm16, imm8 [mi: f7 /0 ib]
|
|
rm32, imm8 [mi: f7 /0 ib]
|
|
rm64, imm8 [mi: f7 /0 ib]
|
|
rm8, r8 [mr: 84 /r]
|
|
rm16, r16 [mr: 85 /r]
|
|
rm32, r32 [mr: 85 /r]
|
|
rm64, r64 [mr: 85 /r]
|
|
ud0: r32, rm32 [rm: 0f ff /r]
|
|
ud1: r32, rm32 [rm: 0f ff /r]
|
|
ud2: [zo: 0f 0b]
|
|
xadd:
|
|
rm8, r8 [mr: 0f c0 /r]
|
|
rm16, r16 [mr: 0f c1 /r]
|
|
rm32, r32 [mr: 0f c1 /r]
|
|
rm64, r64 [mr: 0f c1 /r]
|
|
xchg:
|
|
ax, r16 [-o: 90+r]
|
|
r16, ax [o-: 90+r]
|
|
eax, r32 [-o: 90+r]
|
|
r32, eax [o-: 90+r]
|
|
rax, r64 [-o: 90+r]
|
|
r64, rax [o-: 90+r]
|
|
rm8, r8 [mr: 86 /r]
|
|
r8, rm8 [rm: 86 /r]
|
|
rm16, r16 [mr: 87 /r]
|
|
r16, rm16 [rm: 87 /r]
|
|
rm32, r32 [mr: 87 /r]
|
|
r32, rm32 [rm: 87 /r]
|
|
rm64, r64 [mr: 87 /r]
|
|
r64, rm64 [rm: 87 /r]
|