| | | |
| BSWAP
| byte swap
| bswapq valid only under –m64
|
| CBW
| convert byte to word
|
|
| CDQ
| convert doubleword to quadword
| %eax → %edx:%eax
|
| CDQE
| convert doubleword to quadword
| %eax → %rax cltq valid only under –m64
|
| CMOVA
| conditional move if above
| cmovaq valid only under –m64
|
cmovae{wlq}, cmov{wlq}.ae
| CMOVAE
| conditional move if above or equal
| cmovaeq valid only under –m64
|
| CMOVB
| conditional move if below
| cmovbq valid only under –m64
|
cmovbe{wlq}, cmov{wlq}.be
| CMOVBE
| conditional move if below or equal
| cmovbeq valid only under –m64
|
| CMOVC
| conditional move if carry
| cmovcq valid only under –m64
|
| CMOVE
| conditional move if equal
| cmoveq valid only under –m64
|
| CMOVG
| conditional move if greater
| cmovgq valid only under –m64
|
cmovge{wlq}, cmov{wlq}.ge
| CMOVGE
| conditional move if greater or equal
| cmovgeq valid only under –m64
|
| CMOVL
| conditional move if less
| cmovlq valid only under –m64
|
cmovle{wlq}, cmov{wlq}.le
| COMVLE
| conditional move if less or equal
| cmovleq valid only under –m64
|
cmovna{wlq}, cmov{wlq}.na
| CMOVNA
| conditional move if not above
| cmovnaq valid only under –m64
|
cmovnae{wlq}, cmov{wlq}.nae
| CMOVNAE
| conditional move if not above or equal
| cmovnaeq valid only under –m64
|
cmovnb{wlq}, cmov{wlq}.nb
| CMOVNB
| conditional move if not below
| cmovnbq valid only under –m64
|
cmovnbe{wlq}, cmov{wlq}.nbe
| CMOVNBE
| conditional move if not below or equal
| cmovnbeq valid only under –m64
|
cmovnc{wlq}, cmov{wlq}.nc
| CMOVNC
| conditional move if not carry
| cmovncq valid only under –m64
|
cmovne{wlq}, cmov{wlq}.ne
| CMOVNE
| conditional move if not equal
| cmovneq valid only under –m64
|
cmovng{wlq}, cmov{wlq}.ng
| CMOVNG
| conditional move if greater
| cmovngq valid only under –m64
|
cmovnge{wlq}, cmov{wlq}.nge
| CMOVNGE
| conditional move if not greater or equal
| cmovngeq valid only under –m64
|
cmovnl{wlq}, cmov{wlq}.nl
| CMOVNL
| conditional move if not less
| cmovnlq valid only under –m64
|
cmovnle{wlq}, cmov{wlq}.nle
| CMOVNLE
| conditional move if not above or equal
| cmovnleq valid only under –m64
|
cmovno{wlq}, cmov{wlq}.no
| CMOVNO
| conditional move if not overflow
| cmovnoq valid only under –m64
|
cmovnp{wlq}, cmov{wlq}.np
| CMOVNP
| conditional move if not parity
| cmovnpq valid only under –m64
|
cmovns{wlq}, cmov{wlq}.ns
| CMOVNS
| conditional move if not sign (non-negative)
| cmovnsq valid only under –m64
|
cmovnz{wlq}, cmov{wlq}.nz
| CMOVNZ
| conditional move if not zero
| cmovnzq valid only under –m64
|
| CMOVO
| conditional move if overflow
| cmovoq valid only under –m64
|
| CMOVP
| conditional move if parity
| cmovpq valid only under –m64
|
cmovpe{wlq}, cmov{wlq}.pe
| CMOVPE
| conditional move if parity even
| cmovpeq valid only under –m64
|
cmovpo{wlq}, cmov{wlq}.po
| CMOVPO
| conditional move if parity odd
| cmovpoq valid only under –m64
|
| CMOVS
| conditional move if sign (negative)
| cmovsq valid only under –m64
|
| CMOVZ
| conditional move if zero
| cmovzq valid only under –m64
|
| CMPXCHG
| compare and exchange
| cmpxchgq valid only under –m64
|
| CMPXCHG8B
| compare and exchange 8 bytes
|
|
| CQO
| convert quadword to octword
| %rax → %rdx:%rax cqtd valid only under –m64
|
| CQO
| convert quadword to octword
| %rax → %rdx:%rax cqto valid only under –m64
|
| CWD
| convert word to doubleword
| %ax → %dx:%ax
|
| CWDE
| convert word to doubleword in %eax register
| %ax → %eax
|
|
INVPCID
|
Invalidate Process-Context Identifier
|
page 3-416 (253666-048US/Sep.2013)
|
| MOV
| move data between immediate values, general purpose registers, segment
registers, and memory
| movq valid only under –m64
|
| MOVABS
| move immediate value to register
| movabs valid only under –m64
|
| MOVABS
| move immediate value to register {AL, AX, GAX, RAX}
| movabs valid only under –m64
|
| MOVSX
| move and sign extend
| movsbq and movswq valid only under –m64
|
| MOVZX
| move and zero extend
| movzbq and movzwq valid only under –m64
|
| POP
| pop stack
| popq valid only under –m64
|
| POPA
| pop general-purpose registers from stack
| popaw invalid under –m64
|
| POPAD
| pop general-purpose registers from stack
| invalid under –m64
|
| PUSH
| push onto stack
| pushq valid only under –m64
|
| PUSHA
| push general-purpose registers onto stack
| pushaw invalid under –m64
|
| PUSHAD
| push general-purpose registers onto stack
| invalid under –m64
|
| XADD
| exchange and add
| xaddq valid only under –m64
|
| XCHG
| exchange
| xchgq valid only under –m64
|
| XCHG
| exchange
| xchgqA valid only under –m64
|