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 AdjustALAfter AdditionAAD- ASCII AdjustAXBefore DivisionAAM- ASCII AdjustAXAfter MultiplicationAAS- ASCII AdjustALAfter 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- AdjustRPLField 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 inCR0CLUI- 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 AdjustALAfter AdditionDAS- Decimal AdjustALAfter 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