X64指令手册
| mnemonic | op1 | op2 | op3 | tested f | modif f | description, notes |
|---|---|---|---|---|---|---|
| ADC | r/m8 | r8 | .......c | o..szapc | Add with Carry | |
| ADC | r/m16/32/64 | r16/32/64 | .......c | o..szapc | Add with Carry | |
| ADC | r8 | r/m8 | .......c | o..szapc | Add with Carry | |
| ADC | r16/32/64 | r/m16/32/64 | .......c | o..szapc | Add with Carry | |
| ADC | AL | imm8 | .......c | o..szapc | Add with Carry | |
| ADC | rAX | imm16/32 | .......c | o..szapc | Add with Carry | |
| ADC | r/m8 | imm8 | .......c | o..szapc | Add with Carry | |
| ADC | r/m16/32/64 | imm16/32 | .......c | o..szapc | Add with Carry | |
| ADC | r/m16/32/64 | imm8 | .......c | o..szapc | Add with Carry | |
| ADD | r/m8 | r8 | o..szapc | Add | ||
| ADD | r/m16/32/64 | r16/32/64 | o..szapc | Add | ||
| ADD | r8 | r/m8 | o..szapc | Add | ||
| ADD | r16/32/64 | r/m16/32/64 | o..szapc | Add | ||
| ADD | AL | imm8 | o..szapc | Add | ||
| ADD | rAX | imm16/32 | o..szapc | Add | ||
| ADD | r/m8 | imm8 | o..szapc | Add | ||
| ADD | r/m16/32/64 | imm16/32 | o..szapc | Add | ||
| ADD | r/m16/32/64 | imm8 | o..szapc | Add | ||
| ADDPD | xmm | xmm/m128 | Add Packed Double-FP Values | |||
| ADDPS | xmm | xmm/m128 | Add Packed Single-FP Values | |||
| ADDSD | xmm | xmm/m64 | Add Scalar Double-FP Values | |||
| ADDSS | xmm | xmm/m32 | Add Scalar Single-FP Values | |||
| ADDSUBPD | xmm | xmm/m128 | Packed Double-FP Add/Subtract | |||
| ADDSUBPS | xmm | xmm/m128 | Packed Single-FP Add/Subtract | |||
| AND | r/m8 | r8 | o..szapc | Logical AND | ||
| AND | r/m16/32/64 | r16/32/64 | o..szapc | Logical AND | ||
| AND | r8 | r/m8 | o..szapc | Logical AND | ||
| AND | r16/32/64 | r/m16/32/64 | o..szapc | Logical AND | ||
| AND | AL | imm8 | o..szapc | Logical AND | ||
| AND | rAX | imm16/32 | o..szapc | Logical AND | ||
| AND | r/m8 | imm8 | o..szapc | Logical AND | ||
| AND | r/m16/32/64 | imm16/32 | o..szapc | Logical AND | ||
| AND | r/m16/32/64 | imm8 | o..szapc | Logical AND | ||
| ANDNPD | xmm | xmm/m128 | Bitwise Logical AND NOT of Packed Double-FP Values | |||
| ANDNPS | xmm | xmm/m128 | Bitwise Logical AND NOT of Packed Single-FP Values | |||
| ANDPD | xmm | xmm/m128 | Bitwise Logical AND of Packed Double-FP Values | |||
| ANDPS | xmm | xmm/m128 | Bitwise Logical AND of Packed Single-FP Values | |||
| BLENDPD | xmm | xmm/m128 | imm8 | Blend Packed Double-FP Values | ||
| BLENDPS | xmm | xmm/m128 | imm8 | Blend Packed Single-FP Values | ||
| BSF | r16/32/64 | r/m16/32/64 | o..szapc | Bit Scan Forward | ||
| BSR | r16/32/64 | r/m16/32/64 | o..szapc | Bit Scan Reverse | ||
| BSWAP | r16/32/64 | Byte Swap | ||||
| BT | r/m16/32/64 | r16/32/64 | o..szapc | Bit Test | ||
| BT | r/m16/32/64 | imm8 | o..szapc | Bit Test | ||
| BTC | r/m16/32/64 | imm8 | o..szapc | Bit Test and Complement | ||
| BTC | r/m16/32/64 | r16/32/64 | o..szapc | Bit Test and Complement | ||
| BTR | r/m16/32/64 | r16/32/64 | o..szapc | Bit Test and Reset | ||
| BTR | r/m16/32/64 | imm8 | o..szapc | Bit Test and Reset | ||
| BTS | r/m16/32/64 | r16/32/64 | o..szapc | Bit Test and Set | ||
| BTS | r/m16/32/64 | imm8 | o..szapc | Bit Test and Set | ||
| CALL | rel16/32 | Call Procedure | ||||
| CALL | r/m16/32 | Call Procedure | ||||
| CALL | r/m64 | Call Procedure | ||||
| CALLF | m16:16/32/64 | Call Procedure | ||||
| CBW | AX | AL | Convert | |||
| CWDE | EAX | AX | ||||
| CDQE | RAX | EAX | ||||
| CLC | .......c | Clear Carry Flag | ||||
| CLD | .d...... | Clear Direction Flag | ||||
| CLFLUSH | m8 | Flush Cache Line | ||||
| CLI | ..i..... | Clear Interrupt Flag | ||||
| CLTS | CR0 | Clear Task-Switched Flag in CR0 | ||||
| CMC | .......c | .......c | Complement Carry Flag | |||
| CMOVB | r16/32/64 | r/m16/32/64 | .......c | Conditional Move - below/not above or equal/carry (CF=1) | ||
| CMOVNAE | r16/32/64 | r/m16/32/64 | ||||
| CMOVC | r16/32/64 | r/m16/32/64 | ||||
| CMOVBE | r16/32/64 | r/m16/32/64 | ....z..c | Conditional Move - below or equal/not above (CF=1 OR ZF=1) | ||
| CMOVNA | r16/32/64 | r/m16/32/64 | ||||
| CMOVL | r16/32/64 | r/m16/32/64 | o..s.... | Conditional Move - less/not greater (SF!=OF) | ||
| CMOVNGE | r16/32/64 | r/m16/32/64 | ||||
| CMOVLE | r16/32/64 | r/m16/32/64 | o..sz... | Conditional Move - less or equal/not greater ((ZF=1) OR (SF!=OF)) | ||
| CMOVNG | r16/32/64 | r/m16/32/64 | ||||
| CMOVNB | r16/32/64 | r/m16/32/64 | .......c | Conditional Move - not below/above or equal/not carry (CF=0) | ||
| CMOVAE | r16/32/64 | r/m16/32/64 | ||||
| CMOVNC | r16/32/64 | r/m16/32/64 | ||||
| CMOVNBE | r16/32/64 | r/m16/32/64 | ....z..c | Conditional Move - not below or equal/above (CF=0 AND ZF=0) | ||
| CMOVA | r16/32/64 | r/m16/32/64 | ||||
| CMOVNL | r16/32/64 | r/m16/32/64 | o..s.... | Conditional Move - not less/greater or equal (SF=OF) | ||
| CMOVGE | r16/32/64 | r/m16/32/64 | ||||
| CMOVNLE | r16/32/64 | r/m16/32/64 | o..sz... | Conditional Move - not less nor equal/greater ((ZF=0) AND (SF=OF)) | ||
| CMOVG | r16/32/64 | r/m16/32/64 | ||||
| CMOVNO | r16/32/64 | r/m16/32/64 | o....... | Conditional Move - not overflow (OF=0) | ||
| CMOVNP | r16/32/64 | r/m16/32/64 | ......p. | Conditional Move - not parity/parity odd (PF=0) | ||
| CMOVPO | r16/32/64 | r/m16/32/64 | ||||
| CMOVNS | r16/32/64 | r/m16/32/64 | ...s.... | Conditional Move - not sign (SF=0) | ||
| CMOVNZ | r16/32/64 | r/m16/32/64 | ....z... | Conditional Move - not zero/not equal (ZF=0) | ||
| CMOVNE | r16/32/64 | r/m16/32/64 | ||||
| CMOVO | r16/32/64 | r/m16/32/64 | o....... | Conditional Move - overflow (OF=1) | ||
| CMOVP | r16/32/64 | r/m16/32/64 | ......p. | Conditional Move - parity/parity even (PF=1) | ||
| CMOVPE | r16/32/64 | r/m16/32/64 | ||||
| CMOVS | r16/32/64 | r/m16/32/64 | ...s.... | Conditional Move - sign (SF=1) | ||
| CMOVZ | r16/32/64 | r/m16/32/64 | ....z... | Conditional Move - zero/equal (ZF=1) | ||
| CMOVE | r16/32/64 | r/m16/32/64 | ||||
| CMP | r/m8 | r8 | o..szapc | Compare Two Operands | ||
| CMP | r/m16/32/64 | r16/32/64 | o..szapc | Compare Two Operands | ||
| CMP | r8 | r/m8 | o..szapc | Compare Two Operands | ||
| CMP | r16/32/64 | r/m16/32/64 | o..szapc | Compare Two Operands | ||
| CMP | AL | imm8 | o..szapc | Compare Two Operands | ||
| CMP | rAX | imm16/32 | o..szapc | Compare Two Operands | ||
| CMP | r/m8 | imm8 | o..szapc | Compare Two Operands | ||
| CMP | r/m16/32/64 | imm16/32 | o..szapc | Compare Two Operands | ||
| CMP | r/m16/32/64 | imm8 | o..szapc | Compare Two Operands | ||
| CMPPD | xmm | xmm/m128 | imm8 | Compare Packed Double-FP Values | ||
| CMPPS | xmm | xmm/m128 | imm8 | Compare Packed Single-FP Values | ||
| CMPS | m8 | m8 | .d...... | o..szapc | Compare String Operands | |
| CMPSB | m8 | m8 | ||||
| CMPS | m16/32/64 | m16/32/64 | .d...... | o..szapc | Compare String Operands | |
| CMPSW | m16 | m16 | ||||
| CMPSD | m32 | m32 | ||||
| CMPSQ | m64 | m64 | ||||
| CMPSD | xmm | xmm/m64 | imm8 | Compare Scalar Double-FP Values | ||
| CMPSS | xmm | xmm/m32 | imm8 | Compare Scalar Single-FP Values | ||
| CMPXCHG | r/m8 | AL | r8 | o..szapc | Compare and Exchange | |
| CMPXCHG | r/m16/32/64 | rAX | r16/32/64 | o..szapc | Compare and Exchange | |
| CMPXCHG8B | m64 | EAX | EDX | ....z... | Compare and Exchange Bytes | |
| CMPXCHG8B | m64 | EAX | EDX | ....z... | Compare and Exchange Bytes | |
| CMPXCHG16B | m128 | RAX | RDX | |||
| COMISD | xmm | xmm/m64 | ....z.pc | Compare Scalar Ordered Double-FP Values and Set EFLAGS | ||
| COMISS | xmm | xmm/m32 | ....z.pc | Compare Scalar Ordered Single-FP Values and Set EFLAGS | ||
| CPUID | IA32_BIOS_SIG… | EAX | ECX | CPU Identification | ||
| CRC32 | r32/64 | r/m8 | Accumulate CRC32 Value | |||
| CRC32 | r32/64 | r/m16/32/64 | Accumulate CRC32 Value | |||
| CVTDQ2PD | xmm | xmm/m128 | Convert Packed DW Integers to Double-FP Values | |||
| CVTDQ2PS | xmm | xmm/m128 | Convert Packed DW Integers to Single-FP Values | |||
| CVTPD2DQ | xmm | xmm/m128 | Convert Packed Double-FP Values to DW Integers | |||
| CVTPD2PI | mm | xmm/m128 | Convert Packed Double-FP Values to DW Integers | |||
| CVTPD2PS | xmm | xmm/m128 | Convert Packed Double-FP Values to Single-FP Values | |||
| CVTPI2PD | xmm | mm/m64 | Convert Packed DW Integers to Double-FP Values | |||
| CVTPI2PS | xmm | mm/m64 | Convert Packed DW Integers to Single-FP Values | |||
| CVTPS2DQ | xmm | xmm/m128 | Convert Packed Single-FP Values to DW Integers | |||
| CVTPS2PD | xmm | xmm/m128 | Convert Packed Single-FP Values to Double-FP Values | |||
| CVTPS2PI | mm | xmm/m64 | Convert Packed Single-FP Values to DW Integers | |||
| CVTSD2SI | r32/64 | xmm/m64 | Convert Scalar Double-FP Value to DW Integer | |||
| CVTSD2SS | xmm | xmm/m64 | Convert Scalar Double-FP Value to Scalar Single-FP Value | |||
| CVTSI2SD | xmm | r/m32/64 | Convert DW Integer to Scalar Double-FP Value | |||
| CVTSI2SS | xmm | r/m32/64 | Convert DW Integer to Scalar Single-FP Value | |||
| CVTSS2SD | xmm | xmm/m32 | Convert Scalar Single-FP Value to Scalar Double-FP Value | |||
| CVTSS2SI | r32/64 | xmm/m32 | Convert Scalar Single-FP Value to DW Integer | |||
| CVTTPD2DQ | xmm | xmm/m128 | Convert with Trunc. Packed Double-FP Values to DW Integers | |||
| CVTTPD2PI | mm | xmm/m128 | Convert with Trunc. Packed Double-FP Values to DW Integers | |||
| CVTTPS2DQ | xmm | xmm/m128 | Convert with Trunc. Packed Single-FP Values to DW Integers | |||
| CVTTPS2PI | mm | xmm/m64 | Convert with Trunc. Packed Single-FP Values to DW Integers | |||
| CVTTSD2SI | r32/64 | xmm/m64 | Conv. with Trunc. Scalar Double-FP Value to Signed DW Int | |||
| CVTTSS2SI | r32/64 | xmm/m32 | Convert with Trunc. Scalar Single-FP Value to DW Integer | |||
| CWD | DX | AX | Convert | |||
| CDQ | EDX | EAX | ||||
| CQO | RDX | RAX | ||||
| DEC | r/m8 | o..szap. | Decrement by 1 | |||
| DEC | r/m16/32/64 | o..szap. | Decrement by 1 | |||
| DIV | AL | AH | AX | o..szapc | Unsigned Divide | |
| DIV | rDX | rAX | r/m16/32/64 | o..szapc | Unsigned Divide | |
| DIVPD | xmm | xmm/m128 | Divide Packed Double-FP Values | |||
| DIVPS | xmm | xmm/m128 | Divide Packed Single-FP Values | |||
| DIVSD | xmm | xmm/m64 | Divide Scalar Double-FP Values | |||
| DIVSS | xmm | xmm/m32 | Divide Scalar Single-FP Values | |||
| DPPD | xmm | xmm/m128 | Dot Product of Packed Double-FP Values | |||
| DPPS | xmm | xmm/m128 | Dot Product of Packed Single-FP Values | |||
| EMMS | Empty MMX Technology State | |||||
| ENTER | rBP | imm16 | imm8 | Make Stack Frame for Procedure Parameters | ||
| EXTRACTPS | r/m32 | xmm | imm8 | Extract Packed Single-FP Value | ||
| F2XM1 | ST | 123 | Compute 2x-1 | |||
| FABS | ST | 123 | Absolute Value | |||
| FADD | ST | m32real | 123 | Add | ||
| FADD | ST | STi | ||||
| FADD | ST | m64real | 123 | Add | ||
| FADD | STi | ST | 123 | Add | ||
| FADDP | STi | ST | 123 | Add and Pop | ||
| FADDP | ST1 | ST | 123 | Add and Pop | ||
| FBLD | ST | m80dec | 123 | Load Binary Coded Decimal | ||
| FBSTP | m80dec | ST | 123 | Store BCD Integer and Pop | ||
| FCHS | ST | 123 | Change Sign | |||
| FCLEX | 123 | Clear Exceptions | ||||
| FCMOVB | ST | STi | .......c | 123 | FP Conditional Move - below (CF=1) | |
| FCMOVBE | ST | STi | ....z... | 123 | FP Conditional Move - below or equal (CF=1 or ZF=1) | |
| FCMOVE | ST | STi | ....z... | 123 | FP Conditional Move - equal (ZF=1) | |
| FCMOVNB | ST | STi | .......c | 123 | FP Conditional Move - not below (CF=0) | |
| FCMOVNBE | ST | STi | ....z... | 123 | FP Conditional Move - below or equal (CF=0 and ZF=0) | |
| FCMOVNE | ST | STi | ....z... | 123 | FP Conditional Move - not equal (ZF=0) | |
| FCMOVNU | ST | STi | ......p. | 123 | FP Conditional Move - not unordered (PF=0) | |
| FCMOVU | ST | STi | ......p. | 123 | FP Conditional Move - unordered (PF=1) | |
| FCOM | ST | STi/m32real | 123 | Compare Real | ||
| FCOM | ST | ST1 | 123 | Compare Real | ||
| FCOM | ST | m64real | 123 | Compare Real | ||
| FCOM2 | ST | STi | 123 | Compare Real | ||
| FCOMI | ST | STi | o...z.pc .1.. | Compare Floating Point Values and Set EFLAGS | ||
| FCOMIP | ST | STi | o...z.pc .1.. | Compare Floating Point Values and Set EFLAGS and Pop | ||
| FCOMP | ST | STi/m32real | 123 | Compare Real and Pop | ||
| FCOMP | ST | ST1 | 123 | Compare Real and Pop | ||
| FCOMP | ST | m64real | 123 | Compare Real and Pop | ||
| FCOMP3 | ST | STi | 123 | Compare Real and Pop | ||
| FCOMP5 | ST | STi | 123 | Compare Real and Pop | ||
| FCOMPP | ST | ST1 | 123 | Compare Real and Pop Twice | ||
| FCOS | ST | 123 | Cosine | |||
| FDECSTP | 123 | Decrement Stack-Top Pointer | ||||
| FDIV | ST | m32real | 123 | Divide | ||
| FDIV | ST | STi | ||||
| FDIV | ST | m64real | 123 | Divide | ||
| FDIV | STi | ST | 123 | Divide and Pop | ||
| FDIVP | STi | ST | 123 | Divide and Pop | ||
| FDIVP | ST1 | ST | 123 | Divide and Pop | ||
| FDIVR | ST | m32real | 123 | Reverse Divide | ||
| FDIVR | ST | STi | ||||
| FDIVR | STi | ST | 123 | Reverse Divide | ||
| FDIVR | ST | m64real | 123 | Reverse Divide | ||
| FDIVRP | STi | ST | 123 | Reverse Divide and Pop | ||
| FDIVRP | ST1 | ST | 123 | Reverse Divide and Pop | ||
| FFREE | STi | 123 | Free Floating-Point Register | |||
| FFREEP | STi | 123 | Free Floating-Point Register and Pop | |||
| FIADD | ST | m32int | 123 | Add | ||
| FIADD | ST | m16int | 123 | Add | ||
| FICOM | ST | m32int | 123 | Compare Integer | ||
| FICOM | ST | m16int | 123 | Compare Integer | ||
| FICOMP | ST | m32int | 123 | Compare Integer and Pop | ||
| FICOMP | ST | m16int | 123 | Compare Integer and Pop | ||
| FIDIV | ST | m32int | 123 | Divide | ||
| FIDIV | ST | m16int | 123 | Divide | ||
| FIDIVR | ST | m32int | 123 | Reverse Divide | ||
| FIDIVR | ST | m16int | 123 | Reverse Divide | ||
| FILD | ST | m32int | 123 | Load Integer | ||
| FILD | ST | m16int | 123 | Load Integer | ||
| FILD | ST | m64int | 123 | Load Integer | ||
| FIMUL | ST | m32int | 123 | Multiply | ||
| FIMUL | ST | m16int | 123 | Multiply | ||
| FINCSTP | 123 | Increment Stack-Top Pointer | ||||
| FINIT | 123 | Initialize Floating-Point Unit | ||||
| FIST | m32int | ST | 123 | Store Integer | ||
| FIST | m16int | ST | 123 | Store Integer | ||
| FISTP | m32int | ST | 123 | Store Integer and Pop | ||
| FISTP | m16int | ST | 123 | Store Integer and Pop | ||
| FISTP | m64int | ST | 123 | Store Integer and Pop | ||
| FISTTP | m32int | ST | 123 | Store Integer with Truncation and Pop | ||
| FISTTP | m64int | ST | 123 | Store Integer with Truncation and Pop | ||
| FISTTP | m16int | ST | 123 | Store Integer with Truncation and Pop | ||
| FISUB | ST | m32int | 123 | Subtract | ||
| FISUB | ST | m16int | 123 | Subtract | ||
| FISUBR | ST | m32int | 123 | Reverse Subtract | ||
| FISUBR | ST | m16int | 123 | Reverse Subtract | ||
| FLD | ST | STi/m32real | 123 | Load Floating Point Value | ||
| FLD | ST | m80real | 123 | Load Floating Point Value | ||
| FLD | ST | m64real | 123 | Load Floating Point Value | ||
| FLD1 | ST | 123 | Load Constant +1.0 | |||
| FLDCW | m16 | 123 | Load x87 FPU Control Word | |||
| FLDENV | m14/28 | 123 | Load x87 FPU Environment | |||
| FLDL2E | ST | 123 | Load Constant log2e | |||
| FLDL2T | ST | 123 | Load Constant log210 | |||
| FLDLG2 | ST | 123 | Load Constant log102 | |||
| FLDLN2 | ST | 123 | Load Constant loge2 | |||
| FLDPI | ST | 123 | Load Constant π | |||
| FLDZ | ST | 123 | Load Constant +0.0 | |||
| FMUL | ST | m32real | 123 | Multiply | ||
| FMUL | ST | STi | ||||
| FMUL | ST | m64real | 123 | Multiply | ||
| FMUL | STi | ST | 123 | Multiply | ||
| FMULP | STi | ST | 123 | Multiply and Pop | ||
| FMULP | ST1 | ST | 123 | Multiply and Pop | ||
| FNCLEX | 123 | Clear Exceptions | ||||
| FNDISI nop | Treated as Integer NOP | |||||
| FNENI nop | Treated as Integer NOP | |||||
| FNINIT | 123 | Initialize Floating-Point Unit | ||||
| FNOP | 123 | No Operation | ||||
| FNSAVE | m94/108 | ST | ST1 | 123 | Store x87 FPU State | |
| FNSETPM nop | Treated as Integer NOP | |||||
| FNSTCW | m16 | 123 | Store x87 FPU Control Word | |||
| FNSTENV | m14/28 | 123 | Store x87 FPU Environment | |||
| FNSTSW | m16 | 123 | Store x87 FPU Status Word | |||
| FNSTSW | AX | 123 | Store x87 FPU Status Word | |||
| FPATAN | ST1 | ST | 123 | Partial Arctangent and Pop | ||
| FPREM | ST | ST1 | 123 | Partial Remainder (for compatibility with i8087 and i287) | ||
| FPREM1 | ST | ST1 | 123 | IEEE Partial Remainder | ||
| FPTAN | ST | 123 | Partial Tangent | |||
| FRNDINT | ST | 123 | Round to Integer | |||
| FRSTOR | ST | ST1 | ST2 | 123 | Restore x87 FPU State | |
| FS | FS | FS segment override prefix | ||||
| FSAVE | m94/108 | ST | ST1 | 123 | Store x87 FPU State | |
| FSCALE | ST | ST1 | 123 | Scale | ||
| FSIN | ST | 123 | Sine | |||
| FSINCOS | ST | 123 | Sine and Cosine | |||
| FSQRT | ST | 123 | Square Root | |||
| FST | m32real | ST | 123 | Store Floating Point Value | ||
| FST | m64real | ST | 123 | Store Floating Point Value | ||
| FST | ST | STi | 123 | Store Floating Point Value | ||
| FSTCW | m16 | 123 | Store x87 FPU Control Word | |||
| FSTENV | m14/28 | 123 | Store x87 FPU Environment | |||
| FSTP | m32real | ST | 123 | Store Floating Point Value and Pop | ||
| FSTP | m80real | ST | 123 | Store Floating Point Value and Pop | ||
| FSTP | m64real | ST | 123 | Store Floating Point Value and Pop | ||
| FSTP | ST | STi | 123 | Store Floating Point Value and Pop | ||
| FSTP1 | STi | ST | 123 | Store Floating Point Value and Pop | ||
| FSTP8 | STi | ST | 123 | Store Floating Point Value and Pop | ||
| FSTP9 | STi | ST | 123 | Store Floating Point Value and Pop | ||
| FSTSW | m16 | 123 | Store x87 FPU Status Word | |||
| FSTSW | AX | 123 | Store x87 FPU Status Word | |||
| FSUB | ST | m32real | 123 | Subtract | ||
| FSUB | ST | STi | ||||
| FSUB | ST | m64real | 123 | Subtract | ||
| FSUB | STi | ST | 123 | Subtract | ||
| FSUBP | STi | ST | 123 | Subtract and Pop | ||
| FSUBP | ST1 | ST | 123 | Subtract and Pop | ||
| FSUBR | ST | m32real | 123 | Reverse Subtract | ||
| FSUBR | ST | STi | ||||
| FSUBR | STi | ST | 123 | Reverse Subtract | ||
| FSUBR | ST | m64real | 123 | Reverse Subtract | ||
| FSUBRP | STi | ST | 123 | Reverse Subtract and Pop | ||
| FSUBRP | ST1 | ST | 123 | Reverse Subtract and Pop | ||
| FTST | ST | 123 | Test | |||
| FUCOM | ST | STi | 123 | Unordered Compare Floating Point Values | ||
| FUCOM | ST | ST1 | 123 | Unordered Compare Floating Point Values | ||
| FUCOMI | ST | STi | o...z.pc .1.. | Unordered Compare Floating Point Values and Set EFLAGS | ||
| FUCOMIP | ST | STi | o...z.pc .1.. | Unordered Compare Floating Point Values and Set EFLAGS and Pop | ||
| FUCOMP | ST | STi | 123 | Unordered Compare Floating Point Values and Pop | ||
| FUCOMP | ST | ST1 | 123 | Unordered Compare Floating Point Values and Pop | ||
| FUCOMPP | ST | ST1 | 123 | Unordered Compare Floating Point Values and Pop Twice | ||
| FWAIT | 123 | Check pending unmasked floating-point exceptions | ||||
| WAIT | ||||||
| FXAM | ST | 123 | Examine | |||
| FXCH | ST | STi | 123 | Exchange Register Contents | ||
| FXCH | ST | ST1 | 123 | Exchange Register Contents | ||
| FXCH4 | ST | STi | 123 | Exchange Register Contents | ||
| FXCH7 | ST | STi | 123 | Exchange Register Contents | ||
| FXRSTOR | ST | ST1 | ST2 | Restore x87 FPU, MMX, XMM, and MXCSR State | ||
| FXRSTOR | ST | ST1 | ST2 | Restore x87 FPU, MMX, XMM, and MXCSR State | ||
| FXSAVE | m512 | ST | ST1 | Save x87 FPU, MMX, XMM, and MXCSR State | ||
| FXSAVE | m512 | ST | ST1 | Save x87 FPU, MMX, XMM, and MXCSR State | ||
| FXTRACT | ST | 123 | Extract Exponent and Significand | |||
| FYL2X | ST1 | ST | 123 | Compute y × log2x and Pop | ||
| FYL2XP1 | ST1 | ST | 123 | Compute y × log2(x+1) and Pop | ||
| GETSEC | EAX | GETSEC Leaf Functions | ||||
| GS | GS | GS segment override prefix | ||||
| HADDPD | xmm | xmm/m128 | Packed Double-FP Horizontal Add | |||
| HADDPS | xmm | xmm/m128 | Packed Single-FP Horizontal Add | |||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HINT_NOP | r/m16/32 | Hintable NOP | ||||
| HLT | Halt | |||||
| HSUBPD | xmm | xmm/m128 | Packed Double-FP Horizontal Subtract | |||
| HSUBPS | xmm | xmm/m128 | Packed Single-FP Horizontal Subtract | |||
| IDIV | AL | AH | AX | o..szapc | Signed Divide | |
| IDIV | rDX | rAX | r/m16/32/64 | o..szapc | Signed Divide | |
| IMUL | r16/32/64 | r/m16/32/64 | imm16/32 | o..szapc | Signed Multiply | |
| IMUL | r16/32/64 | r/m16/32/64 | imm8 | o..szapc | Signed Multiply | |
| IMUL | AX | AL | r/m8 | o..szapc | Signed Multiply | |
| IMUL | rDX | rAX | r/m16/32/64 | o..szapc | Signed Multiply | |
| IMUL | r16/32/64 | r/m16/32/64 | o..szapc | Signed Multiply | ||
| IN | AL | imm8 | Input from Port | |||
| IN | eAX | imm8 | Input from Port | |||
| IN | AL | DX | Input from Port | |||
| IN | eAX | DX | Input from Port | |||
| INC | r/m8 | o..szap. | Increment by 1 | |||
| INC | r/m16/32/64 | o..szap. | Increment by 1 | |||
| INS | m8 | DX | .d...... | Input from Port to String | ||
| INSB | m8 | DX | ||||
| INS | m16 | DX | .d...... | Input from Port to String | ||
| INSW | m16 | DX | ||||
| INS | m16/32 | DX | .d...... | Input from Port to String | ||
| INSD | m32 | DX | ||||
| INSERTPS | xmm | m32 | imm8 | Insert Packed Single-FP Value | ||
| INSERTPS | xmm | xmm | imm8 | |||
| INT | 3 | eFlags | ..i..... | Call to Interrupt Procedure | ||
| INT | imm8 | eFlags | ..i..... | Call to Interrupt Procedure | ||
| INT1 | eFlags | ..i..... | Call to Interrupt Procedure | |||
| ICEBP | eFlags | |||||
| INTO | eFlags | o....... | ..i..... | Call to Interrupt Procedure | ||
| INVD | Invalidate Internal Caches | |||||
| INVEPT | r64 | m128 | o..szapc | Invalidate Translations Derived from EPT | ||
| INVLPG | m | Invalidate TLB Entry | ||||
| INVVPID | r64 | m128 | o..szapc | Invalidate Translations Based on VPID | ||
| IRET | Flags | Interrupt Return | ||||
| IRETD | EFlags | |||||
| IRETQ | RFlags | |||||
| JB | rel8 | .......c | Jump short if below/not above or equal/carry (CF=1) | |||
| JNAE | rel8 | |||||
| JC | rel8 | |||||
| JB | rel16/32 | .......c | Jump near if below/not above or equal/carry (CF=1) | |||
| JNAE | rel16/32 | |||||
| JC | rel16/32 | |||||
| JBE | rel8 | ....z..c | Jump short if below or equal/not above (CF=1 OR ZF=1) | |||
| JNA | rel8 | |||||
| JBE | rel16/32 | ....z..c | Jump near if below or equal/not above (CF=1 OR ZF=1) | |||
| JNA | rel16/32 | |||||
| JECXZ | rel8 | ECX | Jump short if rCX register is 0 | |||
| JRCXZ | rel8 | RCX | ||||
| JL | rel8 | o..s.... | Jump short if less/not greater (SF!=OF) | |||
| JNGE | rel8 | |||||
| JL | rel16/32 | o..s.... | Jump near if less/not greater (SF!=OF) | |||
| JNGE | rel16/32 | |||||
| JLE | rel8 | o..sz... | Jump short if less or equal/not greater ((ZF=1) OR (SF!=OF)) | |||
| JNG | rel8 | |||||
| JLE | rel16/32 | o..sz... | Jump near if less or equal/not greater ((ZF=1) OR (SF!=OF)) | |||
| JNG | rel16/32 | |||||
| JMP | rel16/32 | Jump | ||||
| JMP | rel8 | Jump | ||||
| JMP | r/m16/32 | Jump | ||||
| JMP | r/m64 | Jump | ||||
| JMPF | m16:16/32/64 | Jump | ||||
| JNB | rel8 | .......c | Jump short if not below/above or equal/not carry (CF=0) | |||
| JAE | rel8 | |||||
| JNC | rel8 | |||||
| JNB | rel16/32 | .......c | Jump near if not below/above or equal/not carry (CF=0) | |||
| JAE | rel16/32 | |||||
| JNC | rel16/32 | |||||
| JNBE | rel8 | ....z..c | Jump short if not below or equal/above (CF=0 AND ZF=0) | |||
| JA | rel8 | |||||
| JNBE | rel16/32 | ....z..c | Jump near if not below or equal/above (CF=0 AND ZF=0) | |||
| JA | rel16/32 | |||||
| JNL | rel8 | o..s.... | Jump short if not less/greater or equal (SF=OF) | |||
| JGE | rel8 | |||||
| JNL | rel16/32 | o..s.... | Jump near if not less/greater or equal (SF=OF) | |||
| JGE | rel16/32 | |||||
| JNLE | rel8 | o..sz... | Jump short if not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||
| JG | rel8 | |||||
| JNLE | rel16/32 | o..sz... | Jump near if not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||
| JG | rel16/32 | |||||
| JNO | rel8 | o....... | Jump short if not overflow (OF=0) | |||
| JNO | rel16/32 | o....... | Jump near if not overflow (OF=0) | |||
| JNP | rel8 | ......p. | Jump short if not parity/parity odd (PF=0) | |||
| JPO | rel8 | |||||
| JNP | rel16/32 | ......p. | Jump near if not parity/parity odd (PF=0) | |||
| JPO | rel16/32 | |||||
| JNS | rel8 | ...s.... | Jump short if not sign (SF=0) | |||
| JNS | rel16/32 | ...s.... | Jump near if not sign (SF=0) | |||
| JNZ | rel8 | ....z... | Jump short if not zero/not equal (ZF=0) | |||
| JNE | rel8 | |||||
| JNZ | rel16/32 | ....z... | Jump near if not zero/not equal (ZF=0) | |||
| JNE | rel16/32 | |||||
| JO | rel8 | o....... | Jump short if overflow (OF=1) | |||
| JO | rel16/32 | o....... | Jump near if overflow (OF=1) | |||
| JP | rel8 | ......p. | Jump short if parity/parity even (PF=1) | |||
| JPE | rel8 | |||||
| JP | rel16/32 | ......p. | Jump near if parity/parity even (PF=1) | |||
| JPE | rel16/32 | |||||
| JS | rel8 | ...s.... | Jump short if sign (SF=1) | |||
| JS | rel16/32 | ...s.... | Jump near if sign (SF=1) | |||
| JZ | rel8 | ....z... | Jump short if zero/equal (ZF=1) | |||
| JE | rel8 | |||||
| JZ | rel16/32 | ....z... | Jump near if zero/equal (ZF=1) | |||
| JE | rel16/32 | |||||
| LAHF | AH | ...szapc | Load Status Flags into AH Register | |||
| LAR | r16/32/64 | m16 | ....z... | Load Access Rights Byte | ||
| LAR | r16/32/64 | r16/32 | ||||
| LDDQU | xmm | m128 | Load Unaligned Integer 128 Bits | |||
| LDMXCSR | m32 | Load MXCSR Register | ||||
| LEA | r16/32/64 | m | Load Effective Address | |||
| LEAVE | rBP | High Level Procedure Exit | ||||
| LFENCE | Load Fence | |||||
| LFS | FS | r16/32/64 | m16:16/32/64 | Load Far Pointer | ||
| LGDT | GDTR | m | Load Global Descriptor Table Register | |||
| LGS | GS | r16/32/64 | m16:16/32/64 | Load Far Pointer | ||
| LIDT | IDTR | m | Load Interrupt Descriptor Table Register | |||
| LLDT | LDTR | r/m16 | Load Local Descriptor Table Register | |||
| LMSW | MSW | r/m16 | Load Machine Status Word | |||
| LOCK | Assert LOCK# Signal Prefix | |||||
| LODS | AL | m8 | .d...... | Load String | ||
| LODSB | AL | m8 | ||||
| LODS | rAX | m16/32/64 | .d...... | Load String | ||
| LODSW | AX | m16 | ||||
| LODSD | EAX | m32 | ||||
| LODSQ | RAX | m64 | ||||
| LOOP | rCX | rel8 | Decrement count; Jump short if count!=0 | |||
| LOOPNZ | rCX | rel8 | ....z... | Decrement count; Jump short if count!=0 and ZF=0 | ||
| LOOPNE | rCX | rel8 | ||||
| LOOPZ | rCX | rel8 | ....z... | Decrement count; Jump short if count!=0 and ZF=1 | ||
| LOOPE | rCX | rel8 | ||||
| LSL | r16/32/64 | m16 | ....z... | Load Segment Limit | ||
| LSL | r16/32/64 | r16/32 | ||||
| LSS | SS | r16/32/64 | m16:16/32/64 | Load Far Pointer | ||
| LTR | TR | r/m16 | Load Task Register | |||
| MASKMOVDQU | m128 | xmm | xmm | Store Selected Bytes of Double Quadword | ||
| MASKMOVQ | m64 | mm | mm | Store Selected Bytes of Quadword | ||
| MAXPD | xmm | xmm/m128 | Return Maximum Packed Double-FP Values | |||
| MAXPS | xmm | xmm/m128 | Return Maximum Packed Single-FP Values | |||
| MAXSD | xmm | xmm/m64 | Return Maximum Scalar Double-FP Value | |||
| MAXSS | xmm | xmm/m32 | Return Maximum Scalar Single-FP Value | |||
| MFENCE | Memory Fence | |||||
| MINPD | xmm | xmm/m128 | Return Minimum Packed Double-FP Values | |||
| MINPS | xmm | xmm/m128 | Return Minimum Packed Single-FP Values | |||
| MINSD | xmm | xmm/m64 | Return Minimum Scalar Double-FP Value | |||
| MINSS | xmm | xmm/m32 | Return Minimum Scalar Single-FP Value | |||
| MONITOR | m8 | ECX | EDX | Set Up Monitor Address | ||
| MOV | r/m8 | r8 | Move | |||
| MOV | r/m16/32/64 | r16/32/64 | Move | |||
| MOV | r8 | r/m8 | Move | |||
| MOV | r16/32/64 | r/m16/32/64 | Move | |||
| MOV | m16 | Sreg | Move | |||
| MOV | r16/32/64 | Sreg | ||||
| MOV | Sreg | r/m16 | Move | |||
| MOV | AL | moffs8 | Move | |||
| MOV | rAX | moffs16/32/64 | Move | |||
| MOV | moffs8 | AL | Move | |||
| MOV | moffs16/32/64 | rAX | Move | |||
| MOV | r8 | imm8 | Move | |||
| MOV | r16/32/64 | imm16/32/64 | Move | |||
| MOV | r/m8 | imm8 | Move | |||
| MOV | r/m16/32/64 | imm16/32 | Move | |||
| MOV | r64 | CRn | o..szapc | Move to/from Control Registers | ||
| MOV | r64 | CRn | o..szapc | Move to/from Control Registers | ||
| MOV | r64 | DRn | o..szapc | Move to/from Debug Registers | ||
| MOV | r64 | DRn | o..szapc | Move to/from Debug Registers | ||
| MOV | CRn | r64 | o..szapc | Move to/from Control Registers | ||
| MOV | CRn | r64 | o..szapc | Move to/from Control Registers | ||
| MOV | DRn | r64 | o..szapc | Move to/from Debug Registers | ||
| MOV | DRn | r64 | o..szapc | Move to/from Debug Registers | ||
| MOVAPD | xmm | xmm/m128 | Move Aligned Packed Double-FP Values | |||
| MOVAPD | xmm/m128 | xmm | Move Aligned Packed Double-FP Values | |||
| MOVAPS | xmm | xmm/m128 | Move Aligned Packed Single-FP Values | |||
| MOVAPS | xmm/m128 | xmm | Move Aligned Packed Single-FP Values | |||
| MOVBE | r16/32/64 | m16/32/64 | Move Data After Swapping Bytes | |||
| MOVBE | m16/32/64 | r16/32/64 | Move Data After Swapping Bytes | |||
| MOVD | mm | r/m32 | Move Doubleword/Quadword | |||
| MOVQ | mm | r/m64 | ||||
| MOVD | xmm | r/m32 | Move Doubleword/Quadword | |||
| MOVQ | xmm | r/m64 | ||||
| MOVD | r/m32 | mm | Move Doubleword/Quadword | |||
| MOVQ | r/m64 | mm | ||||
| MOVD | r/m32 | xmm | Move Doubleword/Quadword | |||
| MOVQ | r/m64 | xmm | ||||
| MOVDDUP | xmm | xmm/m64 | Move One Double-FP and Duplicate | |||
| MOVDQ2Q | mm | xmm | Move Quadword from XMM to MMX Technology Register | |||
| MOVDQA | xmm | xmm/m128 | Move Aligned Double Quadword | |||
| MOVDQA | xmm/m128 | xmm | Move Aligned Double Quadword | |||
| MOVDQU | xmm | xmm/m128 | Move Unaligned Double Quadword | |||
| MOVDQU | xmm/m128 | xmm | Move Unaligned Double Quadword | |||
| MOVHLPS | xmm | xmm | Move Packed Single-FP Values High to Low | |||
| MOVHPD | xmm | m64 | Move High Packed Double-FP Value | |||
| MOVHPD | m64 | xmm | Move High Packed Double-FP Value | |||
| MOVHPS | xmm | m64 | Move High Packed Single-FP Values | |||
| MOVHPS | m64 | xmm | Move High Packed Single-FP Values | |||
| MOVLHPS | xmm | xmm | Move Packed Single-FP Values Low to High | |||
| MOVLPD | xmm | m64 | Move Low Packed Double-FP Value | |||
| MOVLPD | m64 | xmm | Move Low Packed Double-FP Value | |||
| MOVLPS | xmm | m64 | Move Low Packed Single-FP Values | |||
| MOVLPS | m64 | xmm | Move Low Packed Single-FP Values | |||
| MOVMSKPD | r32/64 | xmm | Extract Packed Double-FP Sign Mask | |||
| MOVMSKPS | r32/64 | xmm | Extract Packed Single-FP Sign Mask | |||
| MOVNTDQ | m128 | xmm | Store Double Quadword Using Non-Temporal Hint | |||
| MOVNTI | m32/64 | r32/64 | Store Doubleword Using Non-Temporal Hint | |||
| MOVNTPD | m128 | xmm | Store Packed Double-FP Values Using Non-Temporal Hint | |||
| MOVNTPS | m128 | xmm | Store Packed Single-FP Values Using Non-Temporal Hint | |||
| MOVNTQ | m64 | mm | Store of Quadword Using Non-Temporal Hint | |||
| MOVQ | mm | mm/m64 | Move Quadword | |||
| MOVQ | xmm | xmm/m64 | Move Quadword | |||
| MOVQ | mm/m64 | mm | Move Quadword | |||
| MOVQ | xmm/m64 | xmm | Move Quadword | |||
| MOVQ2DQ | xmm | mm | Move Quadword from MMX Technology to XMM Register | |||
| MOVS | m8 | m8 | .d...... | Move Data from String to String | ||
| MOVSB | m8 | m8 | ||||
| MOVS | m16/32/64 | m16/32/64 | .d...... | Move Data from String to String | ||
| MOVSW | m16 | m16 | ||||
| MOVSD | m32 | m32 | ||||
| MOVSQ | m64 | m64 | ||||
| MOVSD | xmm | xmm/m64 | Move Scalar Double-FP Value | |||
| MOVSD | xmm/m64 | xmm | Move Scalar Double-FP Value | |||
| MOVSHDUP | xmm | xmm/m64 | Move Packed Single-FP High and Duplicate | |||
| MOVSLDUP | xmm | xmm/m64 | Move Packed Single-FP Low and Duplicate | |||
| MOVSS | xmm | xmm/m32 | Move Scalar Single-FP Values | |||
| MOVSS | xmm/m32 | xmm | Move Scalar Single-FP Values | |||
| MOVSX | r16/32/64 | r/m8 | Move with Sign-Extension | |||
| MOVSX | r16/32/64 | r/m16 | Move with Sign-Extension | |||
| MOVSXD | r32/64 | r/m32 | Move with Sign-Extension | |||
| MOVUPD | xmm | xmm/m128 | Move Unaligned Packed Double-FP Value | |||
| MOVUPD | xmm/m128 | xmm | Move Unaligned Packed Double-FP Values | |||
| MOVUPS | xmm | xmm/m128 | Move Unaligned Packed Single-FP Values | |||
| MOVUPS | xmm/m128 | xmm | Move Unaligned Packed Single-FP Values | |||
| MOVZX | r16/32/64 | r/m8 | Move with Zero-Extend | |||
| MOVZX | r16/32/64 | r/m16 | Move with Zero-Extend | |||
| MPSADBW | xmm | xmm/m128 | imm8 | Compute Multiple Packed Sums of Absolute Difference | ||
| MUL | AX | AL | r/m8 | o..szapc | Unsigned Multiply | |
| MUL | rDX | rAX | r/m16/32/64 | o..szapc | Unsigned Multiply | |
| MULPD | xmm | xmm/m128 | Multiply Packed Double-FP Values | |||
| MULPS | xmm | xmm/m128 | Multiply Packed Single-FP Values | |||
| MULSD | xmm | xmm/m64 | Multiply Scalar Double-FP Values | |||
| MULSS | xmm | xmm/m32 | Multiply Scalar Single-FP Value | |||
| MWAIT | EAX | ECX | Monitor Wait | |||
| NEG | r/m8 | o..szapc | Two's Complement Negation | |||
| NEG | r/m16/32/64 | o..szapc | Two's Complement Negation | |||
| NOP | No Operation | |||||
| NOP | r/m16/32 | No Operation | ||||
| NOP | r/m16/32 | No Operation | ||||
| NOT | r/m8 | One's Complement Negation | ||||
| NOT | r/m16/32/64 | One's Complement Negation | ||||
| OR | r/m8 | r8 | o..szapc | Logical Inclusive OR | ||
| OR | r/m16/32/64 | r16/32/64 | o..szapc | Logical Inclusive OR | ||
| OR | r8 | r/m8 | o..szapc | Logical Inclusive OR | ||
| OR | r16/32/64 | r/m16/32/64 | o..szapc | Logical Inclusive OR | ||
| OR | AL | imm8 | o..szapc | Logical Inclusive OR | ||
| OR | rAX | imm16/32 | o..szapc | Logical Inclusive OR | ||
| OR | r/m8 | imm8 | o..szapc | Logical Inclusive OR | ||
| OR | r/m16/32/64 | imm16/32 | o..szapc | Logical Inclusive OR | ||
| OR | r/m16/32/64 | imm8 | o..szapc | Logical Inclusive OR | ||
| ORPD | xmm | xmm/m128 | Bitwise Logical OR of Double-FP Values | |||
| ORPS | xmm | xmm/m128 | Bitwise Logical OR of Single-FP Values | |||
| OUT | imm8 | AL | Output to Port | |||
| OUT | imm8 | eAX | Output to Port | |||
| OUT | DX | AL | Output to Port | |||
| OUT | DX | eAX | Output to Port | |||
| OUTS | DX | m8 | .d...... | Output String to Port | ||
| OUTSB | DX | m8 | ||||
| OUTS | DX | m16 | .d...... | Output String to Port | ||
| OUTSW | DX | m16 | ||||
| OUTS | DX | m16/32 | .d...... | Output String to Port | ||
| OUTSD | DX | m32 | ||||
| PACKSSDW | mm | mm/m64 | Pack with Signed Saturation | |||
| PACKSSDW | xmm | xmm/m128 | Pack with Signed Saturation | |||
| PACKSSWB | mm | mm/m64 | Pack with Signed Saturation | |||
| PACKSSWB | xmm | xmm/m128 | Pack with Signed Saturation | |||
| PACKUSWB | mm | mm/m64 | Pack with Unsigned Saturation | |||
| PACKUSWB | xmm | xmm/m128 | Pack with Unsigned Saturation | |||
| PADDB | mm | mm/m64 | Add Packed Integers | |||
| PADDB | xmm | xmm/m128 | Add Packed Integers | |||
| PADDD | mm | mm/m64 | Add Packed Integers | |||
| PADDD | xmm | xmm/m128 | Add Packed Integers | |||
| PADDQ | mm | mm/m64 | Add Packed Quadword Integers | |||
| PADDQ | xmm | xmm/m128 | Add Packed Quadword Integers | |||
| PADDSB | mm | mm/m64 | Add Packed Signed Integers with Signed Saturation | |||
| PADDSB | xmm | xmm/m128 | Add Packed Signed Integers with Signed Saturation | |||
| PADDSW | mm | mm/m64 | Add Packed Signed Integers with Signed Saturation | |||
| PADDSW | xmm | xmm/m128 | Add Packed Signed Integers with Signed Saturation | |||
| PADDUSB | mm | mm/m64 | Add Packed Unsigned Integers with Unsigned Saturation | |||
| PADDUSB | xmm | xmm/m128 | Add Packed Unsigned Integers with Unsigned Saturation | |||
| PADDUSW | mm | mm/m64 | Add Packed Unsigned Integers with Unsigned Saturation | |||
| PADDUSW | xmm | xmm/m128 | Add Packed Unsigned Integers with Unsigned Saturation | |||
| PADDW | mm | mm/m64 | Add Packed Integers | |||
| PADDW | xmm | xmm/m128 | Add Packed Integers | |||
| PALIGNR | mm | mm/m64 | Packed Align Right | |||
| PALIGNR | xmm | xmm/m128 | Packed Align Right | |||
| PAND | mm | mm/m64 | Logical AND | |||
| PAND | xmm | xmm/m128 | Logical AND | |||
| PANDN | mm | mm/m64 | Logical AND NOT | |||
| PANDN | xmm | xmm/m128 | Logical AND NOT | |||
| PAUSE | Spin Loop Hint | |||||
| PAVGB | mm | mm/m64 | Average Packed Integers | |||
| PAVGB | xmm | xmm/m128 | Average Packed Integers | |||
| PAVGW | mm | mm/m64 | Average Packed Integers | |||
| PAVGW | xmm | xmm/m128 | Average Packed Integers | |||
| PBLENDW | xmm | xmm/m128 | imm8 | Blend Packed Words | ||
| PCMPEQB | mm | mm/m64 | Compare Packed Data for Equal | |||
| PCMPEQB | xmm | xmm/m128 | Compare Packed Data for Equal | |||
| PCMPEQD | mm | mm/m64 | Compare Packed Data for Equal | |||
| PCMPEQD | xmm | xmm/m128 | Compare Packed Data for Equal | |||
| PCMPEQW | mm | mm/m64 | Compare Packed Data for Equal | |||
| PCMPEQW | xmm | xmm/m128 | Compare Packed Data for Equal | |||
| PCMPESTRI | rCX | xmm | xmm/m128 | o..szapc | Packed Compare Explicit Length Strings, Return Index | |
| PCMPESTRM | XMM0 | xmm | xmm/m128 | o..szapc | Packed Compare Explicit Length Strings, Return Mask | |
| PCMPGTB | mm | mm/m64 | Compare Packed Signed Integers for Greater Than | |||
| PCMPGTB | xmm | xmm/m128 | Compare Packed Signed Integers for Greater Than | |||
| PCMPGTD | mm | mm/m64 | Compare Packed Signed Integers for Greater Than | |||
| PCMPGTD | xmm | xmm/m128 | Compare Packed Signed Integers for Greater Than | |||
| PCMPGTW | mm | mm/m64 | Compare Packed Signed Integers for Greater Than | |||
| PCMPGTW | xmm | xmm/m128 | Compare Packed Signed Integers for Greater Than | |||
| PCMPISTRI | rCX | xmm | xmm/m128 | o..szapc | Packed Compare Implicit Length Strings, Return Index | |
| PCMPISTRM | XMM0 | xmm | xmm/m128 | o..szapc | Packed Compare Implicit Length Strings, Return Mask | |
| PEXTRB | m8 | xmm | imm8 | Extract Byte | ||
| PEXTRB | r32/64 | xmm | imm8 | |||
| PEXTRD | r/m32 | xmm | imm8 | Extract Dword/Qword | ||
| PEXTRQ | r/m64 | xmm | imm8 | |||
| PEXTRW | m16 | xmm | imm8 | Extract Word | ||
| PEXTRW | r32/64 | xmm | imm8 | |||
| PEXTRW | r32/64 | mm | imm8 | Extract Word | ||
| PEXTRW | r32/64 | xmm | imm8 | Extract Word | ||
| PINSRB | xmm | m8 | imm8 | Insert Byte | ||
| PINSRB | xmm | r32/64 | imm8 | |||
| PINSRD | xmm | r/m32 | imm8 | Insert Dword/Qword | ||
| PINSRQ | xmm | r/m64 | imm8 | |||
| PINSRW | mm | r32/64 | imm8 | Insert Word | ||
| PINSRW | mm | m16 | imm8 | |||
| PINSRW | xmm | r32/64 | imm8 | Insert Word | ||
| PINSRW | xmm | m16 | imm8 | |||
| PMADDWD | mm | mm/m64 | Multiply and Add Packed Integers | |||
| PMADDWD | xmm | xmm/m128 | Multiply and Add Packed Integers | |||
| PMAXSW | mm | mm/m64 | Maximum of Packed Signed Word Integers | |||
| PMAXSW | xmm | xmm/m128 | Maximum of Packed Signed Word Integers | |||
| PMAXUB | mm | mm/m64 | Maximum of Packed Unsigned Byte Integers | |||
| PMAXUB | xmm | xmm/m128 | Maximum of Packed Unsigned Byte Integers | |||
| PMINSW | mm | mm/m64 | Minimum of Packed Signed Word Integers | |||
| PMINSW | xmm | xmm/m128 | Minimum of Packed Signed Word Integers | |||
| PMINUB | mm | mm/m64 | Minimum of Packed Unsigned Byte Integers | |||
| PMINUB | xmm | xmm/m128 | Minimum of Packed Unsigned Byte Integers | |||
| PMOVMSKB | r32/64 | mm | Move Byte Mask | |||
| PMOVMSKB | r32/64 | xmm | Move Byte Mask | |||
| PMULHUW | mm | mm/m64 | Multiply Packed Unsigned Integers and Store High Result | |||
| PMULHUW | xmm | xmm/m128 | Multiply Packed Unsigned Integers and Store High Result | |||
| PMULHW | mm | mm/m64 | Multiply Packed Signed Integers and Store High Result | |||
| PMULHW | xmm | xmm/m128 | Multiply Packed Signed Integers and Store High Result | |||
| PMULLW | mm | mm/m64 | Multiply Packed Signed Integers and Store Low Result | |||
| PMULLW | xmm | xmm/m128 | Multiply Packed Signed Integers and Store Low Result | |||
| PMULUDQ | mm | mm/m64 | Multiply Packed Unsigned DW Integers | |||
| PMULUDQ | xmm | xmm/m128 | Multiply Packed Unsigned DW Integers | |||
| POP | r64/16 | Pop a Value from the Stack | ||||
| POP | r/m16/32 | Pop a Value from the Stack | ||||
| POP | r/m64/16 | Pop a Value from the Stack | ||||
| POP | FS | Pop a Value from the Stack | ||||
| POP | GS | Pop a Value from the Stack | ||||
| POPCNT | r16/32/64 | r/m16/32/64 | o..szapc | Bit Population Count | ||
| POPF | Flags | Pop Stack into rFLAGS Register | ||||
| POPFQ | RFlags | |||||
| POR | mm | mm/m64 | Bitwise Logical OR | |||
| POR | xmm | xmm/m128 | Bitwise Logical OR | |||
| PREFETCHNTA | m8 | Prefetch Data Into Caches | ||||
| PREFETCHT0 | m8 | Prefetch Data Into Caches | ||||
| PREFETCHT1 | m8 | Prefetch Data Into Caches | ||||
| PREFETCHT2 | m8 | Prefetch Data Into Caches | ||||
| PSADBW | mm | mm/m64 | Compute Sum of Absolute Differences | |||
| PSADBW | xmm | xmm/m128 | Compute Sum of Absolute Differences | |||
| PSHUFD | xmm | xmm/m128 | imm8 | Shuffle Packed Doublewords | ||
| PSHUFHW | xmm | xmm/m128 | imm8 | Shuffle Packed High Words | ||
| PSHUFLW | xmm | xmm/m128 | imm8 | Shuffle Packed Low Words | ||
| PSHUFW | mm | mm/m64 | imm8 | Shuffle Packed Words | ||
| PSLLD | mm | imm8 | Shift Packed Data Left Logical | |||
| PSLLD | xmm | imm8 | Shift Packed Data Left Logical | |||
| PSLLD | mm | mm/m64 | Shift Packed Data Left Logical | |||
| PSLLD | xmm | xmm/m128 | Shift Packed Data Left Logical | |||
| PSLLDQ | xmm | imm8 | Shift Double Quadword Left Logical | |||
| PSLLQ | mm | imm8 | Shift Packed Data Left Logical | |||
| PSLLQ | xmm | imm8 | Shift Packed Data Left Logical | |||
| PSLLQ | mm | mm/m64 | Shift Packed Data Left Logical | |||
| PSLLQ | xmm | xmm/m128 | Shift Packed Data Left Logical | |||
| PSLLW | mm | imm8 | Shift Packed Data Left Logical | |||
| PSLLW | xmm | imm8 | Shift Packed Data Left Logical | |||
| PSLLW | mm | mm/m64 | Shift Packed Data Left Logical | |||
| PSLLW | xmm | xmm/m128 | Shift Packed Data Left Logical | |||
| PSRAD | mm | imm8 | Shift Packed Data Right Arithmetic | |||
| PSRAD | xmm | imm8 | Shift Packed Data Right Arithmetic | |||
| PSRAD | mm | mm/m64 | Shift Packed Data Right Arithmetic | |||
| PSRAD | xmm | xmm/m128 | Shift Packed Data Right Arithmetic | |||
| PSRAW | mm | imm8 | Shift Packed Data Right Arithmetic | |||
| PSRAW | xmm | imm8 | Shift Packed Data Right Arithmetic | |||
| PSRAW | mm | mm/m64 | Shift Packed Data Right Arithmetic | |||
| PSRAW | xmm | xmm/m128 | Shift Packed Data Right Arithmetic | |||
| PSRLD | mm | imm8 | Shift Double Quadword Right Logical | |||
| PSRLD | xmm | imm8 | Shift Double Quadword Right Logical | |||
| PSRLD | mm | mm/m64 | Shift Packed Data Right Logical | |||
| PSRLD | xmm | xmm/m128 | Shift Packed Data Right Logical | |||
| PSRLDQ | xmm | imm8 | Shift Double Quadword Right Logical | |||
| PSRLQ | mm | imm8 | Shift Packed Data Right Logical | |||
| PSRLQ | xmm | imm8 | Shift Packed Data Right Logical | |||
| PSRLQ | mm | mm/m64 | Shift Packed Data Right Logical | |||
| PSRLQ | xmm | xmm/m128 | Shift Packed Data Right Logical | |||
| PSRLW | mm | imm8 | Shift Packed Data Right Logical | |||
| PSRLW | xmm | imm8 | Shift Packed Data Right Logical | |||
| PSRLW | mm | mm/m64 | Shift Packed Data Right Logical | |||
| PSRLW | xmm | xmm/m128 | Shift Packed Data Right Logical | |||
| PSUBB | mm | mm/m64 | Subtract Packed Integers | |||
| PSUBB | xmm | xmm/m128 | Subtract Packed Integers | |||
| PSUBD | mm | mm/m64 | Subtract Packed Integers | |||
| PSUBD | xmm | xmm/m128 | Subtract Packed Integers | |||
| PSUBQ | mm | mm/m64 | Subtract Packed Quadword Integers | |||
| PSUBQ | xmm | xmm/m128 | Subtract Packed Quadword Integers | |||
| PSUBSB | mm | mm/m64 | Subtract Packed Signed Integers with Signed Saturation | |||
| PSUBSB | xmm | xmm/m128 | Subtract Packed Signed Integers with Signed Saturation | |||
| PSUBSW | mm | mm/m64 | Subtract Packed Signed Integers with Signed Saturation | |||
| PSUBSW | xmm | xmm/m128 | Subtract Packed Signed Integers with Signed Saturation | |||
| PSUBUSB | mm | mm/m64 | Subtract Packed Unsigned Integers with Unsigned Saturation | |||
| PSUBUSB | xmm | xmm/m128 | Subtract Packed Unsigned Integers with Unsigned Saturation | |||
| PSUBUSW | mm | mm/m64 | Subtract Packed Unsigned Integers with Unsigned Saturation | |||
| PSUBUSW | xmm | xmm/m128 | Subtract Packed Unsigned Integers with Unsigned Saturation | |||
| PSUBW | mm | mm/m64 | Subtract Packed Integers | |||
| PSUBW | xmm | xmm/m128 | Subtract Packed Integers | |||
| PUNPCKHBW | mm | mm/m64 | Unpack High Data | |||
| PUNPCKHBW | xmm | xmm/m128 | Unpack High Data | |||
| PUNPCKHDQ | mm | mm/m64 | Unpack High Data | |||
| PUNPCKHDQ | xmm | xmm/m128 | Unpack High Data | |||
| PUNPCKHQDQ | xmm | xmm/m128 | Unpack High Data | |||
| PUNPCKHWD | mm | mm/m64 | Unpack High Data | |||
| PUNPCKHWD | xmm | xmm/m128 | Unpack High Data | |||
| PUNPCKLBW | mm | mm/m64 | Unpack Low Data | |||
| PUNPCKLBW | xmm | xmm/m128 | Unpack Low Data | |||
| PUNPCKLDQ | mm | mm/m64 | Unpack Low Data | |||
| PUNPCKLDQ | xmm | xmm/m128 | Unpack Low Data | |||
| PUNPCKLQDQ | xmm | xmm/m128 | Unpack Low Data | |||
| PUNPCKLWD | mm | mm/m64 | Unpack Low Data | |||
| PUNPCKLWD | xmm | xmm/m128 | Unpack Low Data | |||
| PUSH | r64/16 | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSH | imm16/32 | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSH | imm8 | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSH | r/m16/32 | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSH | r/m64/16 | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSH | FS | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSH | GS | Push Word, Doubleword or Quadword Onto the Stack | ||||
| PUSHF | Flags | Push rFLAGS Register onto the Stack | ||||
| PUSHFQ | RFlags | |||||
| PXOR | mm | mm/m64 | Logical Exclusive OR | |||
| PXOR | xmm | xmm/m128 | Logical Exclusive OR | |||
| RCL | r/m8 | imm8 | .......c | o..szapc | Rotate | |
| RCL | r/m16/32/64 | imm8 | .......c | o..szapc | Rotate | |
| RCL | r/m8 | 1 | .......c | o..szapc | Rotate | |
| RCL | r/m16/32/64 | 1 | .......c | o..szapc | Rotate | |
| RCL | r/m8 | CL | .......c | o..szapc | Rotate | |
| RCL | r/m16/32/64 | CL | .......c | o..szapc | Rotate | |
| RCPPS | xmm | xmm/m128 | Compute Reciprocals of Packed Single-FP Values | |||
| RCPSS | xmm | xmm/m32 | Compute Reciprocal of Scalar Single-FP Values | |||
| RCR | r/m8 | imm8 | .......c | o..szapc | Rotate | |
| RCR | r/m16/32/64 | imm8 | .......c | o..szapc | Rotate | |
| RCR | r/m8 | 1 | .......c | o..szapc | Rotate | |
| RCR | r/m16/32/64 | 1 | .......c | o..szapc | Rotate | |
| RCR | r/m8 | CL | .......c | o..szapc | Rotate | |
| RCR | r/m16/32/64 | CL | .......c | o..szapc | Rotate | |
| RDMSR | rAX | rDX | rCX | Read from Model Specific Register | ||
| RDPMC | EAX | EDX | PMC | Read Performance-Monitoring Counters | ||
| RDTSC | EAX | EDX | IA32_TIME_S… | Read Time-Stamp Counter | ||
| RDTSCP | EAX | EDX | ECX | Read Time-Stamp Counter and Processor ID | ||
| REP | rCX | Repeat String Operation Prefix | ||||
| REP | rCX | Repeat String Operation Prefix | ||||
| REPNZ | rCX | ....z... | Repeat String Operation Prefix | |||
| REPNE | rCX | |||||
| REPZ | rCX | ....z... | Repeat String Operation Prefix | |||
| REPE | rCX | |||||
| RETF | imm16 | Return from procedure | ||||
| RETF | Return from procedure | |||||
| RETN | imm16 | Return from procedure | ||||
| RETN | Return from procedure | |||||
| REX | Access to new 8-bit registers | |||||
| REX.B | Extension of r/m field, base field, or opcode reg field | |||||
| REX.R | Extension of ModR/M reg field | |||||
| REX.RB | REX.R and REX.B combination | |||||
| REX.RX | REX.R and REX.X combination | |||||
| REX.RXB | REX.R, REX.X and REX.B combination | |||||
| REX.W | 64 Bit Operand Size | |||||
| REX.WB | REX.W and REX.B combination | |||||
| REX.WR | REX.W and REX.R combination | |||||
| REX.WRB | REX.W, REX.R and REX.B combination | |||||
| REX.WRX | REX.W, REX.R and REX.X combination | |||||
| REX.WRXB | REX.W, REX.R, REX.X and REX.B combination | |||||
| REX.WX | REX.W and REX.X combination | |||||
| REX.WXB | REX.W, REX.X and REX.B combination | |||||
| REX.X | Extension of SIB index field | |||||
| REX.XB | REX.X and REX.B combination | |||||
| ROL | r/m8 | imm8 | o..szapc | Rotate | ||
| ROL | r/m16/32/64 | imm8 | o..szapc | Rotate | ||
| ROL | r/m8 | 1 | o..szapc | Rotate | ||
| ROL | r/m16/32/64 | 1 | o..szapc | Rotate | ||
| ROL | r/m8 | CL | o..szapc | Rotate | ||
| ROL | r/m16/32/64 | CL | o..szapc | Rotate | ||
| ROR | r/m8 | imm8 | o..szapc | Rotate | ||
| ROR | r/m16/32/64 | imm8 | o..szapc | Rotate | ||
| ROR | r/m8 | 1 | o..szapc | Rotate | ||
| ROR | r/m16/32/64 | 1 | o..szapc | Rotate | ||
| ROR | r/m8 | CL | o..szapc | Rotate | ||
| ROR | r/m16/32/64 | CL | o..szapc | Rotate | ||
| ROUNDPD | xmm | xmm/m128 | imm8 | Round Packed Double-FP Values | ||
| ROUNDPS | xmm | xmm/m128 | imm8 | Round Packed Single-FP Values | ||
| ROUNDSD | xmm | xmm/m64 | imm8 | Round Scalar Double-FP Values | ||
| ROUNDSS | xmm | xmm/m32 | imm8 | Round Scalar Single-FP Values | ||
| RSM | Flags | Resume from System Management Mode | ||||
| RSQRTPS | xmm | xmm/m128 | Compute Recipr. of Square Roots of Packed Single-FP Values | |||
| RSQRTSS | xmm | xmm/m32 | Compute Recipr. of Square Root of Scalar Single-FP Value | |||
| SAHF | AH | ...szapc | Store AH into Flags | |||
| SAL | r/m8 | imm8 | o..szapc | Shift | ||
| SHL | r/m8 | imm8 | ||||
| SAL | r/m16/32/64 | imm8 | o..szapc | Shift | ||
| SHL | r/m16/32/64 | imm8 | ||||
| SAL | r/m8 | 1 | o..szapc | Shift | ||
| SHL | r/m8 | 1 | ||||
| SAL | r/m16/32/64 | 1 | o..szapc | Shift | ||
| SHL | r/m16/32/64 | 1 | ||||
| SAL | r/m8 | CL | o..szapc | Shift | ||
| SHL | r/m8 | CL | ||||
| SAL | r/m16/32/64 | CL | o..szapc | Shift | ||
| SHL | r/m16/32/64 | CL | ||||
| SAR | r/m8 | imm8 | o..szapc | Shift | ||
| SAR | r/m16/32/64 | imm8 | o..szapc | Shift | ||
| SAR | r/m8 | 1 | o..szapc | Shift | ||
| SAR | r/m16/32/64 | 1 | o..szapc | Shift | ||
| SAR | r/m8 | CL | o..szapc | Shift | ||
| SAR | r/m16/32/64 | CL | o..szapc | Shift | ||
| SBB | r/m8 | r8 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | r/m16/32/64 | r16/32/64 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | r8 | r/m8 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | r16/32/64 | r/m16/32/64 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | AL | imm8 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | rAX | imm16/32 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | r/m8 | imm8 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | r/m16/32/64 | imm16/32 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SBB | r/m16/32/64 | imm8 | .......c | o..szapc | Integer Subtraction with Borrow | |
| SCAS | m8 | AL | .d...... | o..szapc | Scan String | |
| SCASB | m8 | AL | ||||
| SCAS | m16/32/64 | rAX | .d...... | o..szapc | Scan String | |
| SCASW | m16 | AX | ||||
| SCASD | m32 | EAX | ||||
| SCASQ | m64 | RAX | ||||
| SETB | r/m8 | .......c | Set Byte on Condition - below/not above or equal/carry (CF=1) | |||
| SETNAE | r/m8 | |||||
| SETC | r/m8 | |||||
| SETBE | r/m8 | ....z..c | Set Byte on Condition - below or equal/not above (CF=1 OR ZF=1) | |||
| SETNA | r/m8 | |||||
| SETL | r/m8 | o..s.... | Set Byte on Condition - less/not greater (SF!=OF) | |||
| SETNGE | r/m8 | |||||
| SETLE | r/m8 | o..sz... | Set Byte on Condition - less or equal/not greater ((ZF=1) OR (SF!=OF)) | |||
| SETNG | r/m8 | |||||
| SETNB | r/m8 | .......c | Set Byte on Condition - not below/above or equal/not carry (CF=0) | |||
| SETAE | r/m8 | |||||
| SETNC | r/m8 | |||||
| SETNBE | r/m8 | ....z..c | Set Byte on Condition - not below or equal/above (CF=0 AND ZF=0) | |||
| SETA | r/m8 | |||||
| SETNL | r/m8 | o..s.... | Set Byte on Condition - not less/greater or equal (SF=OF) | |||
| SETGE | r/m8 | |||||
| SETNLE | r/m8 | o..sz... | Set Byte on Condition - not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||
| SETG | r/m8 | |||||
| SETNO | r/m8 | o....... | Set Byte on Condition - not overflow (OF=0) | |||
| SETNP | r/m8 | ......p. | Set Byte on Condition - not parity/parity odd (PF=0) | |||
| SETPO | r/m8 | |||||
| SETNS | r/m8 | ...s.... | Set Byte on Condition - not sign (SF=0) | |||
| SETNZ | r/m8 | ....z... | Set Byte on Condition - not zero/not equal (ZF=0) | |||
| SETNE | r/m8 | |||||
| SETO | r/m8 | o....... | Set Byte on Condition - overflow (OF=1) | |||
| SETP | r/m8 | ......p. | Set Byte on Condition - parity/parity even (PF=1) | |||
| SETPE | r/m8 | |||||
| SETS | r/m8 | ...s.... | Set Byte on Condition - sign (SF=1) | |||
| SETZ | r/m8 | ....z... | Set Byte on Condition - zero/equal (ZF=1) | |||
| SETE | r/m8 | |||||
| SFENCE | Store Fence | |||||
| SGDT | m | GDTR | Store Global Descriptor Table Register | |||
| SHL | r/m8 | imm8 | o..szapc | Shift | ||
| SAL | r/m8 | imm8 | ||||
| SHL | r/m16/32/64 | imm8 | o..szapc | Shift | ||
| SAL | r/m16/32/64 | imm8 | ||||
| SHL | r/m8 | 1 | o..szapc | Shift | ||
| SAL | r/m8 | 1 | ||||
| SHL | r/m16/32/64 | 1 | o..szapc | Shift | ||
| SAL | r/m16/32/64 | 1 | ||||
| SHL | r/m8 | CL | o..szapc | Shift | ||
| SAL | r/m8 | CL | ||||
| SHL | r/m16/32/64 | CL | o..szapc | Shift | ||
| SAL | r/m16/32/64 | CL | ||||
| SHLD | r/m16/32/64 | r16/32/64 | imm8 | o..szapc | Double Precision Shift Left | |
| SHLD | r/m16/32/64 | r16/32/64 | CL | o..szapc | Double Precision Shift Left | |
| SHR | r/m8 | imm8 | o..szapc | Shift | ||
| SHR | r/m16/32/64 | imm8 | o..szapc | Shift | ||
| SHR | r/m8 | 1 | o..szapc | Shift | ||
| SHR | r/m16/32/64 | 1 | o..szapc | Shift | ||
| SHR | r/m8 | CL | o..szapc | Shift | ||
| SHR | r/m16/32/64 | CL | o..szapc | Shift | ||
| SHRD | r/m16/32/64 | r16/32/64 | imm8 | o..szapc | Double Precision Shift Right | |
| SHRD | r/m16/32/64 | r16/32/64 | CL | o..szapc | Double Precision Shift Right | |
| SHUFPD | xmm | xmm/m128 | imm8 | Shuffle Packed Double-FP Values | ||
| SHUFPS | xmm | xmm/m128 | imm8 | Shuffle Packed Single-FP Values | ||
| SIDT | m | IDTR | Store Interrupt Descriptor Table Register | |||
| SLDT | m16 | LDTR | Store Local Descriptor Table Register | |||
| SLDT | r16/32/64 | LDTR | ||||
| SMSW | m16 | MSW | Store Machine Status Word | |||
| SMSW | r16/32/64 | MSW | ||||
| SQRTPD | xmm | xmm/m128 | Compute Square Roots of Packed Double-FP Values | |||
| SQRTPS | xmm | xmm/m128 | Compute Square Roots of Packed Single-FP Values | |||
| SQRTSD | xmm | xmm/m64 | Compute Square Root of Scalar Double-FP Value | |||
| SQRTSS | xmm | xmm/m32 | Compute Square Root of Scalar Single-FP Value | |||
| STC | .......c | Set Carry Flag | ||||
| STD | .d...... | Set Direction Flag | ||||
| STI | ..i..... | Set Interrupt Flag | ||||
| STMXCSR | m32 | Store MXCSR Register State | ||||
| STOS | m8 | AL | .d...... | Store String | ||
| STOSB | m8 | AL | ||||
| STOS | m16/32/64 | rAX | .d...... | Store String | ||
| STOSW | m16 | AX | ||||
| STOSD | m32 | EAX | ||||
| STOSQ | m64 | RAX | ||||
| STR | m16 | TR | Store Task Register | |||
| STR | r16/32/64 | TR | ||||
| SUB | r/m8 | r8 | o..szapc | Subtract | ||
| SUB | r/m16/32/64 | r16/32/64 | o..szapc | Subtract | ||
| SUB | r8 | r/m8 | o..szapc | Subtract | ||
| SUB | r16/32/64 | r/m16/32/64 | o..szapc | Subtract | ||
| SUB | AL | imm8 | o..szapc | Subtract | ||
| SUB | rAX | imm16/32 | o..szapc | Subtract | ||
| SUB | r/m8 | imm8 | o..szapc | Subtract | ||
| SUB | r/m16/32/64 | imm16/32 | o..szapc | Subtract | ||
| SUB | r/m16/32/64 | imm8 | o..szapc | Subtract | ||
| SUBPD | xmm | xmm/m128 | Subtract Packed Double-FP Values | |||
| SUBPS | xmm | xmm/m128 | Subtract Packed Single-FP Values | |||
| SUBSD | xmm | xmm/m64 | Subtract Scalar Double-FP Values | |||
| SUBSS | xmm | xmm/m32 | Subtract Scalar Single-FP Values | |||
| SWAPGS | GS | IA32_KERNEL_… | Swap GS Base Register | |||
| SYSCALL | RCX | R11 | SS | Fast System Call | ||
| SYSENTER | SS | RSP | IA32_SYSENT… | ..i..... | Fast System Call | |
| SYSEXIT | SS | eSP | IA32_SYSENT… | Fast Return from Fast System Call | ||
| SYSRET | SS | EFlags | R11 | Return From Fast System Call | ||
| TEST | r/m8 | r8 | o..szapc | Logical Compare | ||
| TEST | r/m16/32/64 | r16/32/64 | o..szapc | Logical Compare | ||
| TEST | AL | imm8 | o..szapc | Logical Compare | ||
| TEST | rAX | imm16/32 | o..szapc | Logical Compare | ||
| TEST | r/m8 | imm8 | o..szapc | Logical Compare | ||
| TEST | r/m8 | imm8 | o..szapc | Logical Compare | ||
| TEST | r/m16/32/64 | imm16/32 | o..szapc | Logical Compare | ||
| TEST | r/m16/32/64 | imm16/32 | o..szapc | Logical Compare | ||
| UCOMISD | xmm | xmm/m64 | ....z.pc | Unordered Compare Scalar Double-FP Values and Set EFLAGS | ||
| UCOMISS | xmm | xmm/m32 | ....z.pc | Unordered Compare Scalar Single-FP Values and Set EFLAGS | ||
| UD | r | r/m | Undefined Instruction | |||
| UD2 | Undefined Instruction | |||||
| UNPCKHPD | xmm | xmm/m128 | Unpack and Interleave High Packed Double-FP Values | |||
| UNPCKHPS | xmm | xmm/m64 | Unpack and Interleave High Packed Single-FP Values | |||
| UNPCKLPD | xmm | xmm/m128 | Unpack and Interleave Low Packed Double-FP Values | |||
| UNPCKLPS | xmm | xmm/m64 | Unpack and Interleave Low Packed Single-FP Values | |||
| VERR | r/m16 | ....z... | Verify a Segment for Reading | |||
| VERW | r/m16 | ....z... | Verify a Segment for Writing | |||
| VMCALL | o..szapc | Call to VM Monitor | ||||
| VMCLEAR | m64 | o..szapc | Clear Virtual-Machine Control Structure | |||
| VMLAUNCH | o..szapc | Launch Virtual Machine | ||||
| VMPTRLD | m64 | o..szapc | Load Pointer to Virtual-Machine Control Structure | |||
| VMPTRST | m64 | o..szapc | Store Pointer to Virtual-Machine Control Structure | |||
| VMREAD | r/m64 | r64 | o..szapc | Read Field from Virtual-Machine Control Structure | ||
| VMRESUME | o..szapc | Resume Virtual Machine | ||||
| VMWRITE | r64 | r/m64 | o..szapc | Write Field to Virtual-Machine Control Structure | ||
| VMXOFF | o..szapc | Leave VMX Operation | ||||
| VMXON | m64 | o..szapc | Enter VMX Operation | |||
| WBINVD | Write Back and Invalidate Cache | |||||
| WRMSR | MSR | rCX | rAX | Write to Model Specific Register | ||
| XADD | r/m8 | r8 | o..szapc | Exchange and Add | ||
| XADD | r/m16/32/64 | r16/32/64 | o..szapc | Exchange and Add | ||
| XCHG | r8 | r/m8 | Exchange Register/Memory with Register | |||
| XCHG | r16/32/64 | r/m16/32/64 | Exchange Register/Memory with Register | |||
| XCHG | r16/32/64 | rAX | Exchange Register/Memory with Register | |||
| XGETBV | EDX | EAX | ECX | Get Value of Extended Control Register | ||
| XLAT | AL | m8 | Table Look-up Translation | |||
| XLATB | AL | m8 | ||||
| XOR | r/m8 | r8 | o..szapc | Logical Exclusive OR | ||
| XOR | r/m16/32/64 | r16/32/64 | o..szapc | Logical Exclusive OR | ||
| XOR | r8 | r/m8 | o..szapc | Logical Exclusive OR | ||
| XOR | r16/32/64 | r/m16/32/64 | o..szapc | Logical Exclusive OR | ||
| XOR | AL | imm8 | o..szapc | Logical Exclusive OR | ||
| XOR | rAX | imm16/32 | o..szapc | Logical Exclusive OR | ||
| XOR | r/m8 | imm8 | o..szapc | Logical Exclusive OR | ||
| XOR | r/m16/32/64 | imm16/32 | o..szapc | Logical Exclusive OR | ||
| XOR | r/m16/32/64 | imm8 | o..szapc | Logical Exclusive OR | ||
| XORPD | xmm | xmm/m128 | Bitwise Logical XOR for Double-FP Values | |||
| XORPS | xmm | xmm/m128 | Bitwise Logical XOR for Single-FP Values | |||
| XRSTOR | ST | ST1 | ST2 | Restore Processor Extended States | ||
| XSAVE | m | EDX | EAX | Save Processor Extended States | ||
| XSAVE | m | EDX | EAX | Save Processor Extended States | ||
| XSETBV | XCR | ECX | EDX | Set Extended Control Register |
参考网址: ref.x86asm.net

浙公网安备 33010602011771号