2016-11-12 17:58:00 +01:00

697 lines
29 KiB
Plaintext

aaa=ascii adjust after addition
aad=ascii adjust ax before division
aam=ascii adjust ax after multiply
aas=ascii adjust al after subtraction
adc=add with carry
add=adds src and dst, stores result on dst
addpd=add packed double-fp values
addps=add packed single-fp values
addsd=add scalar double-fp values
addss=add scalar single-fp values
addsubpd=packed double-fp add/subtract
addsubps=packed single-fp add/subtract
aesdeclast=perform the last round of an AES decryption flow
aesdec=perform one round of an AES decryption flow
aesenclast=perform the last round of an AES encryption flow
aesenc=perform one round of an AES encryption flow
aesimc=assist in aes Inverse Mix Columns
aeskeygenassist=assist in AES round key generation
and=binary and operation between src and dst, stores result on dst
andnpd=bitwise logical and not of packed double-fp values
andnps=bitwise logical and not of packed single-fp values
andpd=bitwise logical and of packed double-fp values
andps=bitwise logical and of packed single-fp values
arpl=adjust rpl field of segment selector
blendpd=blend packed double-fp values
blendps=blend packed single-fp values
blendvpd=variable blend packed double-fp values
blendvps=variable blend packed single-fp values
bound=check array index against bounds
bsf=bit scan forward
bsr=bit scan reverse
bswap=byte swap
bt=bit test
btc=bit test and complement
btr=bit test and reset
bts=bit test and set
call=calls a subroutine, push eip into the stack (esp)
callf=call procedure
cbw=convert byte to word
cdqe=sign extend eax into rax
cdq=sign extends eax into edx (convert doubleword to quadword)
clc=clear carry flag
cld=clear direction flag
clflush=flush cache line
cli=clear interrupt flag
clts=clear task-switched flag in cr0
cmc=complement carry flag
cmova=conditional move - above/not below nor equal (cf=0 and zf=0)
cmovae=conditional move - above or equal/not below/not carry (cf=0)
cmovb=conditional move - below/not above nor equal/carry (cf=1)
cmovbe=conditional move - below or equal/not above (cf=1 or zf=1)
cmovc=conditional move - carry/below/not above or equal (cf=1)
cmove=conditional move - equal/zero (zf=1)
cmovg=conditional move - greater/not less nor equal (zf=0 and sf=of)
cmovge=conditional move - greater or equal/not less (sf=of)
cmovl=conditional move - less/not greater nor equal (sf!=of)
cmovle=conditional move - less or equal/not greater (zf=1 or sf!=of)
cmovna=conditional move - not above/below or equal (cf=1 or zf=1)
cmovnae=conditional move - not above nor equal/below/carry (cf=1)
cmovnb=conditional move - not below/above or equal/not carry (cf=0)
cmovnbe=conditional move - not below nor equal/above (cf=0 and zf=0)
cmovnc=conditional move - not carry/above or equal/not below (cf=0)
cmovne=conditional move - not equal/not zero (zf=0)
cmovng=conditional move - not greater/less or equal (zf=1 or sf!=of)
cmovnge=conditional move - not greater nor equal/less (sf!=of)
cmovnl=conditional move - not less/greater or equal (sf=of)
cmovnle=conditional move - not less nor equal/greater (zf=0 and sf=of)
cmovno=conditional move - not overflow (of=0)
cmovnp=conditional move - not parity/parity odd (pf=0)
cmovns=conditional move - not sign (sf=0)
cmovnz=conditional move - not zero/not equal (zf=0)
cmovo=conditional move - overflow (of=1)
cmovp=conditional move - parity/parity even (pf=1)
cmovpe=conditional move - parity even/parity (pf=1)
cmovpo=conditional move - parity odd/not parity (pf=0)
cmovs=conditional move - sign (sf=1)
cmovz=conditional move - zero/equal (zf=1)
cmp=compare two operands
cmppd=compare packed double-fp values
cmpps=compare packed single-fp values
cmpsb=cmp DS:[esi], (byte)ES:[edi] (esi++, edi++)
cmps=compare string operands
cmpsd=cmp DS:[esi], (dword)ES:[edi] (esi+=4, edi+=4)/compare scalar double-fp values
cmpsq=cmp DS:[rsi], (qword)ES:[rdi] (rsi+=8, rdi+=8)
cmpss=compare scalar single-fp values
cmpsw=cmp DS:[esi], (word)ES:[edi] (esi+=2, edi+=2)
cmpxchg16b=compare and exchange bytes
cmpxchg8b=compare and exchange bytes
cmpxchg=compare and exchange
comisd=compare scalar ordered double-fp values and set eflags
comiss=compare scalar ordered single-fp values and set eflags
cpuid=cpu identification
cqo=sign extends rax into rdx (convert quadword to double-quadword)
crc32=accumulate crc32 value
cs=cs segment override prefix
cvtdq2pd=convert packed dw integers to double-fp values
cvtdq2ps=convert packed dw integers to single-fp values
cvtpd2dq=convert packed double-fp values to dw integers
cvtpd2pi=convert packed double-fp values to dw integers
cvtpd2ps=convert packed double-fp values to single-fp values
cvtpi2pd=convert packed dw integers to double-fp values
cvtpi2ps=convert packed dw integers to single-fp values
cvtps2dq=convert packed single-fp values to dw integers
cvtps2pd=convert packed single-fp values to double-fp values
cvtps2pi=convert packed single-fp values to dw integers
cvtsd2si=convert scalar double-fp value to dw integer
cvtsd2ss=convert scalar double-fp value to scalar single-fp value
cvtsi2sd=convert dw integer to scalar double-fp value
cvtsi2ss=convert dw integer to scalar single-fp value
cvtss2sd=convert scalar single-fp value to scalar double-fp value
cvtss2si=convert scalar single-fp value to dw integer
cvttpd2dq=convert with trunc. packed double-fp values to dw integers
cvttpd2pi=convert with trunc. packed double-fp values to dw integers
cvttps2dq=convert with trunc. packed single-fp values to dw integers
cvttps2pi=convert with trunc. packed single-fp values to dw integers
cvttsd2si=conv. with trunc. scalar double-fp value to signed dw int
cvttss2si=convert with trunc. scalar single-fp value to dw integer
cwd=convert word to doubleword
cwde=convert word to doubleword
daa=decimal adjust al after addition
das=decimal adjust al after subtraction
dec=decrement by 1
divpd=divide packed double-fp values
divps=divide packed single-fp values
divsd=divide scalar double-fp values
divss=divide scalar single-fp values
div=unsigned divide
dppd=dot product of packed double-fp values
dpps=dot product of packed single-fp values
ds=ds segment override prefix
emms=empty mmx technology state
enter=alias for push ebp; mov ebp, esp
es=es segment override prefix
extractps=extract packed single-fp value
f2xm1=compute pow(2,x) - 1
fabs=absolute value
fadd=floating point add
faddp=floating point add and pop
fbld=load binary coded decimal
fbstp=store binary coded decimal integer and pop
fchs=change sign
fclex=clear exceptions
fcmovbe=fp conditional move - below or equal (cf=1 or zf=1)
fcmovb=fp conditional move - below (cf=1)
fcmove=fp conditional move - equal (zf=1)
fcmovnbe=fp conditional move - not below or equal (cf=0 and zf=0)
fcmovnb=fp conditional move - not below (cf=0)
fcmovne=fp conditional move - not equal (zf=0)
fcmovnu=fp conditional move - not unordered (pf=0)
fcmovu=fp conditional move - unordered (pf=1)
fcom=floating point compare
fcomi=compare floating point values and set eflags
fcomip=compare floating point values and set eflags and pop
fcomp=floating point compare and pop
fcompp=floating point compare and pop twice
fcos=floating point cosine
fdecstp=decrement floating point stack pointer
fdisi=disable npx (numeric coprocessor extension) interrupt
fdiv=floating point divide
fdivp=floting point divide and pop
fdivr=floating point divide reversed
fdivrp=floating point reverse divide and pop
feni=enable npx (numeric coprocessor extension) interrupt
ffree=free floating-point register
ffreep=free floating-point register and pop (undocumented)
fiadd=integer add
ficom=integer compare
ficomp=integer compare and pop
fidiv=integer divide
fidivr=integer divide reserved
fild=load integer
fimul=integer multiply
fincstp=increment floating-point stack pointer
finit=initialize fpu (floating-point unit)
fistp=store integer and pop
fist=store integer
fisttp=store integer with truncation and pop
fisub=integer substract
fisubr=integer susbtract reversed
fld1=load constant onto stack +1.0f
fldcw=load x87 fpu control word
fldenv=load x87 fpu environment
fldl2e=load constant onto stack: logarithm base 2 (e)
fldl2t=load constant onto stack: logarithm base 2 (10)
fldlg2=load constant onto stack: logarithm base 10 (2)
fldln2=load constant onto stack: natural logarithm (2)
fld=load floating point value
fldpi=load constant onto stack: pi (3.141592...)
fldz=load constant onto stack 0.0f
fmul=floating point multiply
fmulp=floating point multiply and pop
fnclex=clear exceptions
fndisi=disable npx (numeric coprocessor extension) interrupts (8087 only, otherwise, FNOP)
fneni=enable npx (numeric coprocessor extension) interrupts (8087 only, otherwise, FNOP)
fninit=initialize fpu (floating-point unit)
fnop=no operation
fnsave=store x87 fpu state
fnsetpm=set protected mode (8087 only, otherwise FNOP)
fnstcw=store x87 fpu control word
fnstenv=store x87 fpu environment
fnstsw=store x87 fpu status word
fpatan=partial arctangent and pop
fprem1=ieee partial remainder
fprem=partial remainder (for compatibility with i8087 and i287)
fptan=partial tangent
frndint=round to integer
frstor=restore x87 fpu state
fsave=store x87 fpu state
fscale=scale
fsetpm=set protected mode
fs=fs segment override prefix
fsincos=sine and cosine
fsin=sine
fsqrt=square root
fstcw=store x87 fpu control word
fstenv=store x87 fpu environment
fstp=store floating point value and pop
fstpnce=store floating point value and pop (undocumented)
fst=store floating point value
fstsw=store x87 fpu status word
fsub=floating point subtract
fsubp=subtract and pop
fsubrp=reverse subtract and pop
fsubr=reverse subtract
ftst=test
fucomip=unordered compare floating point values and set eflags and pop
fucomi=unordered compare floating point values and set eflags
fucompp=unordered compare floating point values and pop twice
fucomp=unordered compare floating point values and pop
fucom=unordered compare floating point values
fwait=check pending unmasked floating-point exceptions
fxam=examine
fxch=exchange register contents
fxrstor=restore x87 fpu, mmx, xmm, and mxcsr state
fxsave=save x87 fpu, mmx, xmm, and mxcsr state
fxtract=extract exponent and significand
fyl2x=compute y times log2(x) and pop
fyl2xp1=compute y times log2(x+1) and pop
getsec=getsec leaf functions
gs=gs segment override prefix
haddpd=packed double-fp horizontal add
haddps=packed single-fp horizontal add
hint_nop=hintable nop
hlt=stop process until external interrupt received
hsubpd=packed double-fp horizontal subtract
hsubps=packed single-fp horizontal subtract
icebp=Single byte single-step exception / Invoke ICE
idiv=signed divide
imul=signed multiply
inc=increment by 1
in=input from port
insb=input from port to string
insd=input from port to string
insw=input from port to string
ins=input from port to string
int1=call to interrupt procedure
int3=int 3, software breakpoint
int=call to interrupt procedure
into=call to interrupt if overflow
invd=invalidate internal caches
invept=invalidate translations derived from ept
invlpg=invalidate tlb entry
invvpid=invalidate translations based on vpid
iretd=interrupt return
iretq=interrupt return (64 bit)
iret=return from interrupt
ja=jump short if above (cf=0 and zf=0)
jae=jump short if above or equal (cf=0)
jb=jump short if below/not above nor equal/carry (cf=1)
jbe=jump short if below or equal/not above (cf=1 or zf=1)
jc=jump short if carry (cf=1)
jcxz=jump short if ecx register is 0
je=jump short if equal (zf=1)
jecxz=jump short if ecx is 0
jg=jump short if greater (zf=0 and sf=of)
jge=jump short if greater or equal (sf=of)
jl=jump short if less/not greater (sf!=of)
jle=jump short if less or equal/not greater (zf=1 or sf!=of)
jmp=jump
jmpe=jump to ia-64 instruction set
jmpf=jump
jna=jump short if not above/equal (cf=1 or zf=1)
jnae=jump short if not above nor equal/below (cf=1)
jnb=jump short if not below/above or equal/not carry (cf=0)
jnbe=jump short if not below or equal/above (cf=0 and zf=0)
jnc=jump short if not carry (cf=0)
jne=jump short if not equal/not zero (zf=0)
jng=jump short if not greater/less or equal (zf=1 or sf!=of)
jnge=jump short if not greater/less (sf!=of)
jnl=jump short if not less/greater or equal (sf=of)
jnle=jump short if not less nor equal/greater (zf=0 and sf=of)
jno=jump short if not overflow (of=0)
jnp=jump short if not parity/parity odd (pf=0)
jns=jump short if not sign (sf=0)
jnz=jump short if not zero/not equal (zf=0)
jo=jump short if overflow (of=1)
jp=jump short if parity/parity even (pf=1)
jpe=jump short if parity even/parity (pf=1)
jpo=jump short if parity odd/not parity (pf=0)
jrcxz=jump short if rcx register is 0
js=jump short if sign (sf=1)
jz=jump short if zero/equal (zf=1)
lahf=load status flags into ah register
lar=load acces right byte
lddqu=load unaligned integer 128 bits
ldmxcsr=load mxcsr register
lds=load far pointer
lea=load effective address
leave=one byte alias for mov esp, ebp ; pop ebp
les=load far pointer
lfence=load fence
lfs=load far pointer
lgdt=load global descriptor table register
lgs=load far pointer
lidt=load interrupt descriptor table register
lldt=load local descriptor table register
lmsw=load machine status word
loadalld=loads All Registers from memory address es:edi
loadall=load all of the cpu registers
lock=instruction prefix to setup the LOCK pin
lodsb=Load string byte
lodsd=Load string doubleword
lods=load string
lodsq=Load string quadword
lodsw=Load string word
loop=decrement count; jump short if ecx!=0
loope=decrement count; jump short if ecx!=0 and zf=1
loopne=decrement count; jump short if ecx!=0 and zf=0
loopnz=decrement count; jump short if ecx!=0 and zf=0
loopz=decrement count; jump short if ecx!=0 and zf=1
lsl=load segment limit
lss=load far pointer
ltr=load task register
maskmovdqu=store selected bytes of double quadword
maskmovq=store selected bytes of quadword
maxpd=return maximum packed double-fp values
maxps=return maximum packed single-fp values
maxsd=return maximum scalar double-fp value
maxss=return maximum scalar single-fp value
mfence=memory fence
minpd=return minimum packed double-fp values
minps=return minimum packed single-fp values
minsd=return minimum scalar double-fp value
minss=return minimum scalar single-fp value
monitor=set up monitor address
movabs=absolute data moves
movapd=move aligned packed double-fp values
movaps=move aligned packed single-fp values
movbe=move data after swapping bytes
movddup=move one double-fp and duplicate
movd=move doubleword
movdq2q=move quadword from xmm to mmx technology register
movdqa=move aligned double quadword
movdqu=move unaligned double quadword
movhlps=move packed single-fp values high to low
movhpd=move high packed double-fp value
movhps=move high packed single-fp values
movlhps=move packed single-fp values low to high
movlpd=move low packed double-fp value
movlps=move low packed single-fp values
mov=moves data from src to dst
movmskpd=extract packed double-fp sign mask
movmskps=extract packed single-fp sign mask
movntdqa=load double quadword non-temporal aligned hint
movntdq=store double quadword using non-temporal hint
movnti=store doubleword using non-temporal hint
movntpd=store packed double-fp values using non-temporal hint
movntps=store packed single-fp values using non-temporal hint
movntq=store of quadword using non-temporal hint
movq2dq=move quadword from mmx technology to xmm register
movq=move quadword
movsb=ES:[edi] = (byte)DS:[esi] (esi++, edi++)
movsd=ES:[edi] = (dword)DS:[esi] (esi+=4, edi+=4)/move scalar double-fp value
movshdup=move packed single-fp high and duplicate
movsldup=move packed single-fp low and duplicate
movs=move data from string to string
movss=move scalar single-fp values
movsw=ES:[edi] = (word)DS:[esi] (esi+=2, edi+=2)
movsq=ES:[rdi] = (qword)DS:[rsi] (rsi+=8, rdi+=8)
movsxd=move with sign-extension
movsx=move with sign-extension
movupd=move unaligned packed double-fp values
movups=move unaligned packed single-fp values
movzx=move dst register size padding with zeroes
mpsadbw=compute multiple packed sums of absolute difference
mulpd=multiply packed double-fp values
mulps=multiply packed single-fp values
mulsd=multiply scalar double-fp values
mulss=multiply scalar single-fp value
mul=unsigned multiply
mwait=monitor wait
neg=two's complement negation
nop=no operation
not=one's complement negation
or=logical inclusive or
orpd=bitwise logical or of double-fp values
orps=bitwise logical or of single-fp values
out=output to port
outsb=Output string byte to port
outsd=Output string doubleword to port
outs=output string to port
outsw=Output string word to port
pabsb=packed absolute value
pabsd=packed absolute value
pabsw=packed absolute value
packssdw=pack with signed saturation
packsswb=pack with signed saturation
packusdw=pack with unsigned saturation
packuswb=pack with unsigned saturation
paddb=add packed integers
paddd=add packed integers
paddq=add packed quadword integers
paddsb=add packed signed integers with signed saturation
paddsw=add packed signed integers with signed saturation
paddusb=add packed unsigned integers with unsigned saturation
paddusw=add packed unsigned integers with unsigned saturation
paddw=add packed integers
palignr=packed align right
pand=logical and
pandn=logical and not
pause=spin loop hint
pavgb=average packed integers
pavgw=average packed integers
pblendvb=variable blend packed bytes
pblendw=blend packed words
pclmulqdq=performs a carry-less multiplication of two 64-bit polynomials over the finite field GF(2).
pcmpeqb=compare packed data for equal
pcmpeqd=compare packed data for equal
pcmpeqq=compare packed qword data for equal
pcmpeqw=compare packed data for equal
pcmpestri=packed compare explicit length strings, return index
pcmpestrm=packed compare explicit length strings, return mask
pcmpgtb=compare packed signed integers for greater than
pcmpgtd=compare packed signed integers for greater than
pcmpgtw=compare packed signed integers for greater than
pcmpistri=packed compare implicit length strings, return index
pcmpistrm=packed compare implicit length strings, return mask
pextrb=extract a byte from an XMM register and insert the value into a general-purpose register or memory
pextrd=extract a dword from an XMM register and insert the value into a general-purpose register or memory
pextrq=extract a qword from an XMM register and insert the value into a general-purpose register or memory
pextrw=extract a word from an XMM register and insert the value into a general-purpose register or memory
phaddd=packed horizontal add
phaddsw=packed horizontal add and saturate
phaddw=packed horizontal add
phminposuw=packed horizontal word minimum
phsubd=packed horizontal subtract
phsubsw=packed horizontal subtract and saturate
phsubw=packed horizontal subtract
pinsrb=insert a byte value from a register or memory into an XMM register
pinsrd=insert a dword value from a register or memory into an XMM register
pinsrq=insert a qword value from a register or memory into an XMM register
pinsrw=insert a word value from a register or memory into an XMM register
pmaddubsw=multiply and add packed signed and unsigned bytes
pmaddwd=multiply and add packed integers
pmaxsb=maximum of packed signed byte integers
pmaxsd=maximum of packed signed dword integers
pmaxsw=maximum of packed signed word integers
pmaxub=maximum of packed unsigned byte integers
pmaxud=maximum of packed unsigned dword integers
pmaxuw=maximum of packed unsigned word integers
pminsb=minimum of packed signed byte integers
pminsd=minimum of packed signed dword integers
pminsw=minimum of packed signed word integers
pminub=minimum of packed unsigned byte integers
pminud=minimum of packed unsigned dword integers
pminuw=minimum of packed unsigned word integers
pmovmskb=move byte mask
pmovsxbd=sign extend the lower 8-bit integer of each packed dword element into packed signed dword integers
pmovsxbq=sign extend the lower 8-bit integer of each packed qword element into packed signed qword integers
pmovsxbw=sign extend the lower 8-bit integer of each packed word element into packed signed word integers
pmovsxdq=sign extend the lower 32-bit integer of each packed qword element into packed signed qword integers
pmovsxwd=sign extend the lower 16-bit integer of each packed dword element into packed signed dword integers
pmovsxwq=sign extend the lower 16-bit integer of each packed qword element into packed signed qword integers
pmovzxbd=zero extend the lower 8-bit integer of each packed dword element into packed signed dword integers
pmovzxbq=zero extend the lower 8-bit integer of each packed qword element into packed signed qword integers
pmovzxbw=zero extend the lower 8-bit integer of each packed word element into packed signed word integers
pmovzxdq=zero extend the lower 32-bit integer of each packed qword element into packed signed qword integers
pmovzxwd=zero extend the lower 16-bit integer of each packed dword element into packed signed dword integers
pmovzxwq=zero extend the lower 16-bit integer of each packed qword element into packed signed qword integers
pmulhrsw=packed multiply high with round and scale
pmulhuw=multiply packed unsigned integers and store high result
pmulhw=multiply packed signed integers and store high result
pmulld=multiply packed signed dword integers and store low result
pmullw=multiply packed signed integers and store low result
pmuludq=multiply packed unsigned dw integers
popad=pop all general-purpose registers
popal=pop all general-purpose registers
popa=pop all general-purpose registers
popcnt=bit population count
popfd=pop stack into eflags register
popf=pop stack into flags register
popfq=pop stack into rflags register
pop=pops last element of stack and stores the result in argument
por=bitwise logical or
prefetchnta=prefetch data into caches
prefetcht0=prefetch data into caches
prefetcht1=prefetch data into caches
prefetcht2=prefetch data into caches
prefetchw=prefetch data into caches
psadbw=compute sum of absolute differences
pshufb=packed shuffle bytes
pshufd=shuffle packed doublewords
pshufhw=shuffle packed high words
pshuflw=shuffle packed low words
pshufw=shuffle packed words
psignb=packed sign
psignw=packed sign
pslldq=shift double quadword left logical
pslld=shift packed data left logical
psllq=shift packed data left logical
psllw=shift packed data left logical
psrad=shift packed data right arithmetic
psraw=shift packed data right arithmetic
psrldq=shift double quadword right logical
psrld=shift packed data right logical
psrlq=shift packed data right logical
psrlw=shift packed data right logical
psubb=subtract packed integers
psubd=subtract packed integers
psubq=subtract packed quadword integers
psubsb=subtract packed signed integers with signed saturation
psubsw=subtract packed signed integers with signed saturation
psubusb=subtract packed unsigned integers with unsigned saturation
psubusw=subtract packed unsigned integers with unsigned saturation
psubw=subtract packed integers
ptest=logical compare
punpckhbw=unpack high data
punpckhdq=unpack high data
punpckhqdq=unpack high data
punpckhwd=unpack high data
punpcklbw=unpack low data
punpckldq=unpack low data
punpcklqdq=unpack low data
punpcklwd=unpack low data
pushad=push all general-purpose registers
pushal=push all general-purpose registers
pusha=push all general-purpose registers
pushfd=push eflags register onto the stack
pushf=push flags register onto the stack
pushfq=push rflags register onto the stack
push=push word, doubleword or quadword onto the stack
pxor=logical exclusive or
rcl=rotate bits left (with CF)
rcpps=compute reciprocals of packed single-fp values
rcpss=compute reciprocal of scalar single-fp values
rcr=rotate bits right (with CF)
rdmsr=read from model specific register
rdpmc=read performance-monitoring counters
rdrand=read random number
rdtscp=read time-stamp counter and processor id
rdtsc=read time-stamp counter
repe=repeat string
repne=repeat string operation prefix
repnz=repeat string operation prefix
rep=repeats next instruction ECX times
repz=repeat string operation prefix
retf=return from procedure
retn=return from procedure
ret=return from subroutine. pop 4 bytes from esp and jump there.
rex=access to new 8-bit registers
rex.b=extension of r/m field, base field, or opcode reg field
rex.rb=rex.r and rex.b combination
rex.r=extension of modr/m reg field
rex.rxb=rex.r, rex.x and rex.b combination
rex.rx=rex.r and rex.x combination
rex.w=64 bit operand size
rex.wb=rex.w and rex.b combination
rex.wrb=rex.w, rex.r and rex.b combination
rex.wr=rex.w and rex.r combination
rex.wrxb=rex.w, rex.r, rex.x and rex.b combination
rex.wrx=rex.w, rex.r and rex.x combination
rex.wxb=rex.w, rex.x and rex.b combination
rex.wx=rex.w and rex.x combination
rex.xb=rex.x and rex.b combination
rex.x=extension of sib index field
rol=rotate bits left
ror=rotate bits right
roundpd=round packed double-fp values
roundps=round packed single-fp values
roundsd=round scalar double-fp values
roundss=round scalar single-fp values
rsm=resume from system management mode
rsqrtps=compute recipr. of square roots of packed single-fp values
rsqrtss=compute recipr. of square root of scalar single-fp value
rtdsc=read time-stamp counter into edx:eax
sahf=store ah into flags
sal=arithmetic left shift
salc=set al if carry
sar=arithmetic right shift
sbb=integer subtraction with borrow
scasb=cmp al, ES:[edi++]
scasd=cmp eax, ES:[edi+=4]
scasq=cmp rax, ES:[rdi+=8]
scas=scan string
scasw=cmp ax, ES:[edi+=2]
seta=set byte on condition - above/not below nor equal (cf=0 and zf=0)
setae=set byte on condition - above or equal/not below/not carry (cf=0)
setb=set byte on condition - below/not above nor equal/carry (cf=1)
setbe=set byte on condition - below or equal/not above (cf=1 or zf=1)
setc=set byte on condition - carry/below/not above nor equal (cf=1)
sete=set byte on condition - equal/zero (zf=1)
setg=set byte on condition - greater/not less nor equal (zf=0 and sf=of)
setge=set byte on condition - greater or equal/not less (sf=of)
setl=set byte on condition - less/not greater nor equal (sf!=of)
setle=set byte on condition - less or equal/not greater (zf=1 or sf!=of)
setna=set byte on condition - not above/below or equal (cf=1 or zf=1)
setnae=set byte on condition - not above nor equal/below/carry (cf=1)
setnb=set byte on condition - not below/above or equal/not carry (cf=0)
setnbe=set byte on condition - not below nor equal/above (cf=0 and zf=0)
setnc=set byte on condition - not carry/above or equal/not below (cf=0)
setne=set byte on condition - not equal/not zero (zf=0)
setng=set byte on condition - not greater/less or equal (zf=1 or sf!=of)
setnge=set byte on condition - not greater nor equal/less (sf!=of)
setnl=set byte on condition - not less/greater or equal (sf=of)
setnle=set byte on condition - not less nor equal/greater (zf=0 and sf=of)
setno=set byte on condition - not overflow (of=0)
setnp=set byte on condition - not parity/parity odd (pf=0)
setns=set byte on condition - not sign (sf=0)
setnz=set byte on condition - not zero/not equal (zf=0)
seto=set byte on condition - overflow (of=1)
setp=set byte on condition - parity/parity even (pf=1)
setpe=set byte on condition - parity even/parity (pf=1)
setpo=set byte on condition - parity odd/not parity (pf=0)
sets=set byte on condition - sign (sf=1)
setz=set byte on condition - zero/equal (zf=1)
sfence=store fence
sgdt=store global descriptor table register
shld=double precision shift left
shl=logic left shift (0 padding)
shrd=double precision shift right
shr=logic right shift (0 padding)
shufpd=shuffle packed double-fp values
shufps=shuffle packed single-fp values
sidt=store interrupt descriptor table register
sldt=store local descriptor table register.
smsw=store machine status word
sqrtpd=compute square roots of packed double-fp values
sqrtps=compute square roots of packed single-fp values
sqrtsd=compute square root of scalar double-fp value
sqrtss=compute square root of scalar single-fp value
ss=ss segment override prefix
stc=set carry flag
std=set direction flag
sti=set interrupt flag
stmxcsr=store mxcsr register state
stosb=store string byte
stosd=store string dword
stosq=store string quadword
stosw=store string word
stos=store string
str=store task register
subpd=subtract packed double-fp values
subps=subtract packed single-fp values
subsd=subtract scalar double-fp values
subss=subtract scalar single-fp values
sub=substract src and dst, stores result on dst
swapgs=swap gs base register
syscall=fast system call
sysenter=fast system call
sysexit=fast return from fast system call
sysret=return from fast system call
test=set eflags after comparing two registers (AF, CF, OF, PF, SF, ZF)
ucomisd=unordered compare scalar double-fp values and set eflags
ucomiss=unordered compare scalar single-fp values and set eflags
ud1=undefined instruction
ud2=undefined instruction
unpckhpd=unpack and interleave high packed double-fp values
unpckhps=unpack and interleave high packed single-fp values
unpcklpd=unpack and interleave low packed double-fp values
unpcklps=unpack and interleave low packed single-fp values
verr=verify a segment for reading
verw=verify a segment for writing
vmcall=call to vm monitor
vmclear=clear virtual-machine control structure
vmlaunch=launch virtual machine
vmptrld=load pointer to virtual-machine control structure
vmptrst=store pointer to virtual-machine control structure
vmread=read field from virtual-machine control structure
vmresume=resume virtual machine
vmwrite=write field to virtual-machine control structure
vmxoff=leave vmx operation
vmxon=enter vmx operation
wait=stop process execution until TEST pin activated
wbinvd=write back and invalidate cache
wrmsr=write to model specific register
xadd=exchange and add
xchg=exchange register/memory with register
xgetbv=get value of extended control register
xlatb=table look-up translation
xlat=table look-up translation
xor=logical exclusive or
xorpd=bitwise logical xor for double-fp values
xorps=bitwise logical xor for single-fp values
xrstor=restore processor extended states
xsave=save processor extended states
xsetbv=set extended control register