Volume 2A Instruction Set Reference A-M (794101), страница 2
Текст из файла (страница 2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1.1.3Operand Encoding Column in the Instruction Summary Table . . . . . . . . . . . . . . . . . . .3.1.1.464-bit Mode Column in the Instruction Summary Table . . . . . . . . . . . . . . . . . . . . . . . . .3.1.1.5Compatibility/Legacy Mode Column in the Instruction Summary Table. . . . . . . . . . .3.1.1.6Description Column in the Instruction Summary Table . . .
. . . . . . . . . . . . . . . . . . . . . . .3-13-13-23-33-73-73-73-8Vol. 2A iiiCONTENTSPAGE3.1.1.7Description Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83.1.1.8Operation Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83.1.1.9Intel® C/C++ Compiler Intrinsics Equivalents Section . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-123.1.1.10Flags Affected Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 3-153.1.1.11FPU Flags Affected Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-153.1.1.12Protected Mode Exceptions Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 3-153.1.1.13Real-Address Mode Exceptions Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-173.1.1.14Virtual-8086 Mode Exceptions Section . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 3-173.1.1.15Floating-Point Exceptions Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-173.1.1.16SIMD Floating-Point Exceptions Section . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 3-183.1.1.17Compatibility Mode Exceptions Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-183.1.1.1864-Bit Mode Exceptions Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 3-183.2INSTRUCTIONS (A-M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18AAA—ASCII Adjust After Addition . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19AAD—ASCII Adjust AX Before Division. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21AAM—ASCII Adjust AX After Multiply . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 3-23AAS—ASCII Adjust AL After Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25ADC—Add with Carry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 3-27ADD—Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31ADDPD—Add Packed Double-Precision Floating-Point Values . . . . . .
. . . . . . . . . . . . . . . 3-34ADDPS—Add Packed Single-Precision Floating-Point Values . . . . . . . . . . . . . . . . . . . . . . 3-37ADDSD—Add Scalar Double-Precision Floating-Point Values . . . . . . . . . . . . . . . . . . . . . . 3-40ADDSS—Add Scalar Single-Precision Floating-Point Values . . . . .
. . . . . . . . . . . . . . . . . . 3-43ADDSUBPD—Packed Double-FP Add/Subtract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46ADDSUBPS—Packed Single-FP Add/Subtract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-50AESENC/AESENCLAST- Perform One Round of an AES Encryption Flow . . . . . . . . . . . 3-54AESDEC/AESDECLAST- Perform One Round of an AES Decryption Flow . . . . . . . . . . . 3-57AESIMC- Perform the AES InvMixColumn Transformation . . . . . . . . . . . . . . . . . .
. . . . . . . 3-60AESKEYGENASSIST - AES Round Key Generation Assist . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62AND—Logical AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65ANDPD—Bitwise Logical AND of Packed Double-Precision Floating-Point Values . . . 3-68ANDPS—Bitwise Logical AND of Packed Single-Precision Floating-Point Values . .
. . 3-70ANDNPD—Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values. .3-72ANDNPS—Bitwise Logical AND NOT of Packed Single-Precision Floating-Point Values. 374ARPL—Adjust RPL Field of Segment Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 3-76BLENDPD — Blend Packed Double Precision Floating-Point Values . . . . . . . . . . . . . . . . 3-79BLENDPS — Blend Packed Single Precision Floating-Point Values . . . . . . . . . . . . . . . . . 3-82BLENDVPD — Variable Blend Packed Double Precision Floating-Point Values . . . . .
. 3-85BLENDVPS — Variable Blend Packed Single Precision Floating-Point Values . . . . . . . 3-88BOUND—Check Array Index Against Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-91BSF—Bit Scan Forward . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-94BSR—Bit Scan Reverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-97BSWAP—Byte Swap. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-100BT—Bit Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-102BTC—Bit Test and Complement . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-105iv Vol. 2ACONTENTSPAGEBTR—Bit Test and Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-108BTS—Bit Test and Set . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-111CALL—Call Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-114CBW/CWDE/CDQE—Convert Byte to Word/Convert Word to Doubleword/Convert Doubleword to Quadword .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-133CLC—Clear Carry Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-135CLD—Clear Direction Flag . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-136CLFLUSH—Flush Cache Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-137CLI — Clear Interrupt Flag . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-139CLTS—Clear Task-Switched Flag in CR0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-142CMC—Complement Carry Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 3-144CMOVcc—Conditional Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-145CMP—Compare Two Operands . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 3-152CMPPD—Compare Packed Double-Precision Floating-Point Values . . . . . . . . . . . . . . . 3-155CMPPS—Compare Packed Single-Precision Floating-Point Values . . . . . . . . . . . . . . . . 3-160CMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String Operands .
. . . . . . . . . . . . . . 3-165CMPSD—Compare Scalar Double-Precision Floating-Point Values . . . . . . . . . . . . . . . . 3-171CMPSS—Compare Scalar Single-Precision Floating-Point Values . . . . . . . . . . . . . . . . . 3-175CMPXCHG—Compare and Exchange. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 3-179CMPXCHG8B/CMPXCHG16B—Compare and Exchange Bytes . . . . . . . . . . . . . . . . . . . . 3-182COMISD—Compare Scalar Ordered Double-Precision Floating-Point Values and SetEFLAGS . . . . . . . . . . .