| Opcode | Description |
|---|---|
| AAA | ASCII Adjust After Addition |
| AAD | ASCII Adjust AX Before Division |
| AAS | ASCII Adjust AL After Subtraction |
| ADC | Add with Carry |
| ADD | Add |
| ADDPD | Add Packed Double-Precision Floating-Point Values |
| ADDPS | Add Packed Single-Precision Floating-Point Values |
| ADDSD | Add Scalar Double-Precision Floating-Point Values |
| ADDSS | Add Scalar Single-Precision Floating-Point Values |
| ADDSUBPD | Packed Double-FP Add/Subtract |
| ADDSUBPS | Packed Single-FP Add/Subtract |
| AND | Logical AND |
| ANDPD | Bitwise Logical AND of Packed Double-Precision Floating-Point Values |
| ANDPS | Bitwise Logical AND of Packed Single-Precision Floating-Point Values |
| ANDNPD | Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values |
| ANDNPS | Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values |
| ARPL | Adjust RPL Field of Segment Selector |
| 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 | Call Procedure |
| CBW/CWDE | Convert Byte to Word/Convert Word to Doubleword |
| 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 |
| CMOVcc | Conditional Move |
| CMP | Compare Two Operands |
| CMPPD | Compare Packed Double-Precision Floating-Point Values |
| CMPPS | Compare Packed Single-Precision Floating-Point Values |
| CMPS/CMPSB/CMPSW/CMPSD | Compare String Operands |
| CMPSD | Compare Scalar Double-Precision Floating-Point Values |
| CMPSS | Compare Scalar Single-Precision Floating-Point Values |
| CMPXCHG | Compare and Exchange |
| CMPXCHG8B | Compare and Exchange 8 Bytes |
| COMISD | Compare Scalar Ordered Double-Precision Floating- Point Values and Set EFLAGS |
| COMISS | Compare Scalar Ordered Single-Precision Floating- Point Values and Set EFLAGS |
| CPUID | CPU Identification |
| CVTDQ2PD | Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point Values |
| CVTDQ2PS | Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values |
| CVTPD2DQ | Convert Packed Double-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTPD2PI | Convert Packed Double-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTPD2PS | Convert Packed Double-Precision Floating-Point Values to Packed Single-Precision Floating-Point Values |
| CVTPI2PD | Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point Values |
| CVTPI2PS | Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values |
| CVTPS2DQ | Convert Packed Single-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTPS2PD | Convert Packed Single-Precision Floating-Point Values to Packed Double-Precision Floating-Point Values |
| CVTPS2PI | Convert Packed Single-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTSD2SI | Convert Scalar Double-Precision Floating-Point Value to Doubleword Integer |
| CVTSD2SS | Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Precision Floating-Point Value |
| CVTSI2SD | Convert Doubleword Integer to Scalar Double- Precision Floating-Point Value |
| CVTSI2SS | Convert Doubleword Integer to Scalar Single- Precision Floating-Point Value |
| CVTSS2SD | Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Precision Floating-Point Value |
| CVTSS2SI | Convert Scalar Single-Precision Floating-Point Value to Doubleword Integer |
| CVTTPD2PI | Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTTPD2DQ | Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTTPS2DQ | Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTTPS2PI | Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Integers |
| CVTTSD2SI | Convert with Truncation Scalar Double-Precision Floating-Point Value to Signed Doubleword Integer |
| CVTTSS2SI | Convert with Truncation Scalar Single-Precision Floating-Point Value to Doubleword Integer |
| CWD/CDQ | Convert Word to Doubleword/Convert Doubleword to Quadword |
| DAA | Decimal Adjust AL after Addition |
| DAS | Decimal Adjust AL after Subtraction |
| DEC | Decrement by 1 |
| DIV | Unsigned Divide |
| DIVPD | Divide Packed Double-Precision Floating-Point Values |
| DIVPS | Divide Packed Single-Precision Floating-Point Values |
| DIVSD | Divide Scalar Double-Precision Floating-Point Values |
| DIVSS | Divide Scalar Single-Precision Floating-Point Values |
| EMMS | Empty MMX Technology State |
| ENTER | Make Stack Frame for Procedure Parameters |
| F2XM1 | Compute 2x-1 |
| FABS | Absolute Value |
| FADD/FADDP/FIADD | Add |
| FBLD | Load Binary Coded Decimal |
| FBSTP | Store BCD Integer and Pop |
| FCHS | Change Sign |
| FCLEX/FNCLEX | Clear Exceptions |
| FCMOVcc | Floating-Point Conditional Move |
| FCOM/FCOMP/FCOMPP | Compare Floating Point Values |
| FCOMI/FCOMIP/FUCOMI/FUCOMIP | Compare Floating Point Values and Set EFLAGS |
| FCOS | Cosine |
| FDECSTP | Decrement Stack-Top Pointer |
| FDIV/FDIVP/FIDIV | Divide |
| FDIVR/FDIVRP/FIDIVR | Reverse Divide |
| FFREE | Free Floating-Point Register |
| FICOM/FICOMP | Compare Integer |
| FILD | Load Integer |
| FINCSTP | Increment Stack-Top Pointer |
| FINIT/FNINIT | Initialize Floating-Point Unit |
| FIST/FISTP | Store Integer |
| FISTTP | Store Integer with Truncation |
| FLD | Load Floating Point Value |
| FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ | Load Constant |
| FLDCW | Load x87 FPU Control Word |
| FLDENV | Load x87 FPU Environment |
| FMUL/FMULP/FIMUL | Multiply |
| FNOP | No operation |
| FPATAN | Partial Arctangent |
| FPREM | Partial Remainder |
| FPREM1 | Partial Remainder |
| FPTAN | Partial Tangent |
| FRNDINT | Round to Integer |
| FRSTOR | Restore x87 FPU State |
| FSAVE/FNSAVE | Store x87 FPU State |
| FSCALE | Scale |
| FSIN | Sine |
| FSINCOS | Sine and Cosine |
| FSQRT | Square Root |
| FST/FSTP | Store Floating Point Value |
| FSTCW/FNSTCW | Store x87 FPU Control Word |
| FSTENV/FNSTENV | Store x87 FPU Environment |
| FSTSW/FNSTSW | Store x87 FPU Status Word |
| FSUB/FSUBP/FISUB | Subtract |
| FSUBR/FSUBRP/FISUBR | Reverse Subtract |
| FTST | Test Floating Point Value |
| FUCOM/FUCOMP/FUCOMPP | Unordered Compare Floating Point Values |
| FXAM | Examine Floating Point Value |
| FXCH | Exchange Register Contents |
| FXRSTOR | Restore x87 FPU, MMX Technology, SSE, and SSE2 State |
| FXSAVE | Save x87 FPU, MMX Technology, SSE, and SSE2 State |
| FXTRACT | Extract Exponent and Mantissa |
| FYL2X | Compute y * log_2(x) |
| FYL2XP1 | Compute y * log_2(x + 1) |
| HADDPD | Packed Double-FP Horizontal Add |
| HADDPS | Packed Single-FP Horizontal Add |
| HLT | Halt |
| HSUBPD | Packed Double-FP Horizontal Subtract |
| HSUBPS | Packed Single-FP Horizontal Subtract |
| IDIV | Signed Divide |
| IMUL | Signed Multiply |
| IN | Input from Port |
| INC | Increment by 1 |
| INS/INSB/INSW/INSD | Input from Port to String |
| INT n/INTO/INT 3 | Call to Interrupt Procedure |
| INVD | Invalidate Internal Caches |
| INVLPG | Invalidate TLB Entry |
| IRET/IRETD | Interrupt Return |
| Jcc | Jump if Condition Is Met |
| JMP | Jump |
| LAHF | Load Status Flags into AH Register |
| LAR | Load Access Rights Byte |
| LDDQU | Load Unaligned Integer 128 Bits |
| LDMXCSR | Load MXCSR Register |
| LDS/LES/LFS/LGS/LSS | Load Far Pointer |
| LEA | Load Effective Address |
| LEAVE | High Level Procedure Exit |
| LFENCE | Load Fence |
| LGDT/LIDT | Load Global/Interrupt Descriptor Table Register |
| LLDT | Load Local Descriptor Table Register |
| LMSW | Load Machine Status Word |
| LOCK | Assert LOCK# Signal Prefix |
| LODS/LODSB/LODSW/LODSD | Load String |
| LOOP/LOOPcc | Loop According to ECX Counter |
| LSL | Load Segment Limit |
| LTR | Load Task Register |
| MASKMOVDQU | Store Selected Bytes of Double Quadword |
| MASKMOVQ | Store Selected Bytes of Quadword |
| MAXPD | Return Maximum Packed Double-Precision Floating- Point Values |
| MAXPS | Return Maximum Packed Single-Precision Floating-Point Values |
| MAXSD | Return Maximum Scalar Double-Precision Floating-Point Value |
| MAXSS | Return Maximum Scalar Single-Precision Floating-Point Value |
| MFENCE | Memory Fence |
| MINPD | Return Minimum Packed Double-Precision Floating-Point Values |
| MINPS | Return Minimum Packed Single-Precision Floating-Point Values |
| MINSD | Return Minimum Scalar Double-Precision Floating-Point Value |
| MINSS | Return Minimum Scalar Single-Precision Floating-Point Value |
| MONITOR | Setup Monitor Address |
| MOV | Move |
| MOV | Move to/from Control Registers |
| MOV | Move to/from Debug Registers |
| MOVAPD | Move Aligned Packed Double-Precision Floating-Point Values |
| MOVAPS | Move Aligned Packed Single-Precision Floating-Point Values |
| MOVD | Move Doubleword |
| MOVDDUP | Move One Double-FP and Duplicate |
| MOVDQA | Move Aligned Double Quadword |
| MOVDQU | Move Unaligned Double Quadword |
| MOVDQ2Q | Move Quadword from XMM to MMX Technology Register |
| MOVHLPS | Move Packed Single-Precision Floating-Point Values High to Low |
| MOVHPD | Move High Packed Double-Precision Floating-Point Value |
| MOVHPS | Move High Packed Single-Precision Floating-Point Values |
| MOVLHPS | Move Packed Single-Precision Floating-Point Values Low to High |
| MOVLPD | Move Low Packed Double-Precision Floating-Point Value |
| MOVLPS | Move Low Packed Single-Precision Floating-Point Values |
| MOVMSKPD | Extract Packed Double-Precision Floating-Point Sign Mask |
| MOVMSKPS | Extract Packed Single-Precision Floating-Point Sign Mask |
| MOVNTDQ | Store Double Quadword Using Non-Temporal Hint |
| MOVNTI | Store Doubleword Using Non-Temporal Hint |
| MOVNTPD | Store Packed Double-Precision Floating-Point Values Using Non-Temporal Hint |
| MOVNTPS | Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint |
| MOVNTQ | Store of Quadword Using Non-Temporal Hint |
| MOVSHDUP | Move Packed Single-FP High and Duplicate |
| MOVSLDUP | Move Packed Single-FP Low and Duplicate |
| MOVQ | Move Quadword |
| MOVQ2DQ | Move Quadword from MMX Technology to XMM Register |
| MOVS/MOVSB/MOVSW/MOVSD | Move Data from String to String |
| MOVSD | Move Scalar Double-Precision Floating-Point Value |
| MOVSS | Move Scalar Single-Precision Floating-Point Values |
| MOVSX | Move with Sign-Extension |
| MOVUPD | Move Unaligned Packed Double-Precision Floating- Point Values |
| MOVUPS | Move Unaligned Packed Single-Precision Floating- Point Values |
| MOVZX | Move with Zero-Extend |
| MUL | Unsigned Multiply |
| MULPD | Multiply Packed Double-Precision Floating-Point Values |
| MULPS | Multiply Packed Single-Precision Floating-Point Values |
| MULSD | Multiply Scalar Double-Precision Floating-Point Values |
| MULSS | Multiply Scalar Single-Precision Floating-Point Values |
| 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-Precision Floating-Point Values |
| ORPS | Bitwise Logical OR of Single-Precision Floating-Point Values |
| OUT | Output to Port |
| OUTS/OUTSB/OUTSW/OUTSD | Output String to Port |
| PACKSSWB/PACKSSDW | Pack with Signed Saturation |
| PACKUSWB | Pack with Unsigned Saturation |
| PADDB/PADDW/PADDD | Add Packed Integers |
| PADDQ | Add Packed Quadword Integers |
| PADDSB/PADDSW | Add Packed Signed Integers with Signed Saturation |
| PADDUSB/PADDUSW | Add Packed Unsigned Integers with Unsigned Saturation |
| PAND | Logical AND |
| PANDN | Logical AND NOT |
| PAUSE | Spin Loop Hint |
| PAVGB/PAVGW | Average Packed Integers |
| PCMPEQB/PCMPEQW/PCMPEQD | Compare Packed Data for Equal |
| PCMPGTB/PCMPGTW/PCMPGTD | Compare Packed Signed Integers for Greater Than |
| PEXTRW | Extract Word |
| PINSRW | Insert Word |
| PMADDWD | Multiply and Add Packed Integers |
| PMAXSW | Maximum of Packed Signed Word Integers |
| PMAXUB | Maximum of Packed Unsigned Byte Integers |
| PMINSW | Minimum of Packed Signed Word Integers |
| PMINUB | Minimum of Packed Unsigned Byte Integers |
| PMOVMSKB | Move Byte Mask |
| PMULHUW | Multiply Packed Unsigned Integers and Store High Result |
| PMULHW | Multiply Packed Signed Integers and Store High Result |
| PMULLW | Multiply Packed Signed Integers and Store Low Result |
| PMULUDQ | Multiply Packed Unsigned Doubleword Integers |
| POP | Pop a Value from the Stack |
| POPA/POPAD | Pop All General-Purpose Registers |
| POPF/POPFD | Pop Stack into EFLAGS Register |
| POR | Bitwise Logical OR |
| PREFETCHh | Prefetch Data Into Caches |
| PSADBW | Compute Sum of Absolute Differences |
| PSHUFD | Shuffle Packed Doublewords |
| PSHUFHW | Shuffle Packed High Words |
| PSHUFLW | Shuffle Packed Low Words |
| PSHUFW | Shuffle Packed Words |
| PSLLDQ | Shift Double Quadword Left Logical |
| PSLLW/PSLLD/PSLLQ | Shift Packed Data Left Logical |
| PSRAW/PSRAD | Shift Packed Data Right Arithmetic |
| PSRLDQ | Shift Double Quadword Right Logical |
| PSRLW/PSRLD/PSRLQ | Shift Packed Data Right Logical |
| PSUBB/PSUBW/PSUBD | Subtract Packed Integers |
| PSUBQ | Subtract Packed Quadword Integers |
| PSUBSB/PSUBSW | Subtract Packed Signed Integers with Signed Saturation |
| PSUBUSB/PSUBUSW | Subtract Packed Unsigned Integers with Unsigned Saturation |
| PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ/PUNPCKHQDQ | Unpack High Data |
| PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ/PUNPCKLQDQ | Unpack Low Data |
| PUSH | Push Word or Doubleword Onto the Stack |
| PUSHA/PUSHAD | Push All General-Purpose Registers |
| PUSHF/PUSHFD | Push EFLAGS Register onto the Stack |
| PXOR | Logical Exclusive OR |
| RCL/RCR/ROL/ROR | Rotate |
| RCPPS | Compute Reciprocals of Packed Single-Precision Floating-Point Values |
| RCPSS | Compute Reciprocal of Scalar Single-Precision Floating- Point Values |
| RDMSR | Read from Model Specific Register |
| RDPMC | Read Performance-Monitoring Counters |
| RDTSC | Read Time-Stamp Counter |
| REP/REPE/REPZ/REPNE/REPNZ | Repeat String Operation Prefix |
| RET | Return from Procedure |
| RSM | Resume from System Management Mode |
| RSQRTPS | Compute Reciprocals of Square Roots of Packed Single-Precision Floating-Point Values |
| RSQRTSS | Compute Reciprocal of Square Root of Scalar Single- Precision Floating-Point Value |
| SAHF | Store AH into Flags |
| SAL/SAR/SHL/SHR | Shift |
| SBB | Integer Subtraction with Borrow |
| SCAS/SCASB/SCASW/SCASD | Scan String |
| SETcc | Set Byte on Condition |
| SFENCE | Store Fence |
| SGDT | Store Global Descriptor Table Register |
| SHLD | Double Precision Shift Left |
| SHRD | Double Precision Shift Right |
| SHUFPD | Shuffle Packed Double-Precision Floating-Point Values |
| SHUFPS | Shuffle Packed Single-Precision Floating-Point 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-Precision Floating-Point Values |
| SQRTPS | Compute Square Roots of Packed Single-Precision Floating-Point Values |
| SQRTSD | Compute Square Root of Scalar Double-Precision Floating-Point Value |
| SQRTSS | Compute Square Root of Scalar Single-Precision Floating-Point Value |
| STC | Set Carry Flag |
| STD | Set Direction Flag |
| STI | Set Interrupt Flag |
| STMXCSR | Store MXCSR Register State |
| STOS/STOSB/STOSW/STOSD | Store String |
| STR | Store Task Register |
| SUB | Subtract |
| SUBPD | Subtract Packed Double-Precision Floating-Point Values |
| SUBPS | Subtract Packed Single-Precision Floating-Point Values |
| SUBSD | Subtract Scalar Double-Precision Floating-Point Values |
| SUBSS | Subtract Scalar Single-Precision Floating-Point Values |
| SYSENTER | Fast System Call |
| SYSEXIT | Fast Return from Fast System Call |
| TEST | Logical Compare |
| UCOMISD | Unordered Compare Scalar Double-Precision Floating- Point Values and Set EFLAGS |
| UCOMISS | Unordered Compare Scalar Single-Precision Floating- Point Values and Set EFLAGS |
| UD2 | Undefined Instruction |
| UNPCKHPD | Unpack and Interleave High Packed Double- Precision Floating-Point Values |
| UNPCKHPS | Unpack and Interleave High Packed Single-Precision Floating-Point Values |
| UNPCKLPD | Unpack and Interleave Low Packed Double-Precision Floating-Point Values |
| UNPCKLPS | Unpack and Interleave Low Packed Single-Precision Floating-Point Values |
| VERR/VERW | Verify a Segment for Reading or Writing |
| WAIT/FWAIT | Wait |
| WBINVD | Write Back and Invalidate Cache |
| WRMSR | Write to Model Specific Register |
| XADD | Exchange and Add |
| XCHG | Exchange Register/Memory with Register |
| XLAT/XLATB | Table Look-up Translation |
| XOR | Logical Exclusive OR |
| XORPD | Bitwise Logical XOR for Double-Precision Floating-Point Values |
| XORPS | Bitwise Logical XOR for Single-Precision Floating-Point Values |