x86 is home to a few hundred instructions with other 3,600 different encodings. This page lists all of them.
Up-to-date lists are available from Intel and AMD, however, they may be incomplete; Undocumented and removed instructions may be missing from these manuals.
Mnemonic List
Prefixes
A
AAA
- ASCII AdjustAL
After AdditionAAD
- ASCII AdjustAX
Before DivisionAAM
- ASCII AdjustAX
After MultiplicationAAS
- ASCII AdjustAL
After SubtractionADC
- Add with CarryADCX
- Unsigned Integer Addition with Carry FlagADD
- AddADDPS
,ADDPD
,ADDSS
,ADDSD
- Add (Vector)ADDSUBPS
,ADDSUBPD
- Add/Subtract (Vector)ADOX
- Unsigned Integer Addition with Overflow FlagAESDEC
,AESDECLAST
- Perform AES DecryptionAESDEC128KL
,AESDEC256KL
- Perform AES Decryption with Key LockerAESDECWIDE128KL
,AESDECWIDE256KL
- Perform AES Decryption with Key Locker on Eight BlocksAESENC
,AESENCLAST
- Perform AES EncryptionAESENC128KL
,AESENC256KL
- Perform AES Encryption with Key LockerAESENCWIDE128KL
,AESENCWIDE256KL
- Perform AES Encryption with Key Locker on Eight BlocksAESIMC
- Perform the AES "Inverse Mix Columns" TransformationAESKEYGENASSIST
- AES Round Key Generation AssistAND
- Logical ANDANDPS
,ANDPD
- Logical AND (Vector)ANDN
- Logical AND NOTANDNPS
,ANDNPD
- Logical AND NOT (Vector)ARPL
- AdjustRPL
Field of Segment Selector
B
BEXTR
- Bit Extract FieldBLCFILL
- Fill From Lowest Clear BitBLCI
- Isolate Lowest Clear BitBLCIC
- Isolate Lowest Clear Bit and ComplementBLCMSK
- Mask From Lowest Clear BitBLCS
- Set Lowest Cleared BitBLENDPS
,BLENDPD
- Blend (Vector)BLENDVPS
,BLENDVPD
- Variable Blend (Vector)BLSFILL
- Fill From Lowest Set BitBLSI
- Isolate Lowest Set BitBLSIC
- Isolate Lowest Set Bit and ComplementBLSMSK
- Get Mask Up to Lowest Set BitBLSR
- Clear Lowest Set BitBNDCL
- Check Lower BoundBNDCN/BNDCU
- Check Upper BoundBNDLDX
- Load Extended Bounds Using Address TranslationBNDMK
- Make BoundsBNDMOV
- Move BoundsBNDSTX
- Store Extended Bounds Using Address TranslationBOUND
- Check Array Index Against BoundsBSF
- Bit Scan ForwardBSR
- Bit Scan ReverseBSWAP
- Byte SwapBT
- Bit TestBTC
- Bit Test and ComplementBTR
- Bit Test and ResetBTS
- Bit Test and SetBZHI
- Zero High Bits From Index
C
CALL
- Call ProcedureCBW/CWDE/CDQE
- Sign Extend AccumulatorCLAC
- Clear Alignment Check FlagCLC
- Clear Carry FlagCLD
- Clear Direction FlagCLDEMOTE
- Demote Cache LineCLFLUSH
- Flush Cache LineCLFLUSHOPT
- Flush Cache Line (Optimized)CLGI
- Clear Global Interrupt FlagCLI
- Clear Interrupt Enable FlagCLRSSBSY
- Clear Busy Flag in a Supervisor Shadow Stack TokenCLTS
- Clear Task-Switched Flag inCR0
CLUI
- Clear User Interrupt FlagCLWB
- Write Back Cache LineCMC
- Complement Carry FlagCMOVcc
- Conditional MoveCMP
- CompareCMPPS
,CMPPD
,CMPSS
,CMPSD
- Compare (Vector)CMPS
- Compare StringsCMPXCHG
- Compare and ExchangeCMPXCHG8B/CMPXCHG16B
- Compare and Exchange 8/16 BytesCOMISS
,COMISD
- Compare OrderedCPUID
- CPU IdentificationCRC32
- Accumulate CRC32 ValueCVTDQ2PS
,CVTDQ2PD
- Convert Packed Doubleword Integers (Vector)CVTPD2DQ
,CVTPD2PI
,CVTPD2PS
- Convert Packed Double-Precision Floating-Point Values (Vector)CVTPI2PS
,CVTPI2PD
- Convert Packed Doubleword Integers (Vector/MMX)CVTPS2DQ
,CVTPS2PD
,CVTPS2PI
- Convert Packed Single-Precision Floating-Point Values (Vector)CVTSD2SI
,CVTSD2SS
- Convert Scalar Double-Precision Floating-Point Values (Vector)CVTSI2SS
,CVTSI2SD
- Convert Doubleword and Quadword Integers (Vector)CVTSS2SD
,CVTSS2SI
- Convert Scalar Single-Precision Floating-Point Values (Vector)CVTTPD2DQ
,CVTTPD2PI
- Convert with Truncation Packed Double-Precision Floating-Point Values (Vector/MMX)CVTTPS2DQ
,CVTTPS2PI
- Convert with Truncation Packed Single-Precision Floating-Point Values (Vector/MMX)CVTTSD2SI
- Convert with Truncation Scalar Double-Precision Floating-Point Values to Doubleword and Quadword IntegersCVTTSS2SI
- Convert with Truncation Scalar Single-Precision Floating-Point Values to Doubleword and Quadword IntegersCWD-CDQ-CQO
- Sign Extend Accumulator IntorDX
D
DAA
- Decimal AdjustAL
After AdditionDAS
- Decimal AdjustAL
After SubtractionDEC
- Decrement by OneDIV
- Unsigned DivideDIVPS
,DIVPD
,DIVSS
,DIVSD
- Divide (Vector)DPPD
,DPPS
- Dot Product (Vector)
E
EMMS
- Empty MMX Technology StateENCODEKEY128
- Encode 128 bit Key with Key LockerENCODEKEY256
- Encode 256 bit Key with Key LockerENDBR32
- Terminate an Indirect Branch in 32 bit ModeENDBR64
- Terminate an Indirect Branch in 64 bit ModeENTER
- Make Stack Frame for Procedure ParametersENQCMD
- Enqueue CommandENQCMDS
- Enqueue Command SupervisorEXTRACTPS
- Extract Packed Single-Precision Floating-Point ValuesEXTRQ
- Extract Quadword