Intel 253666-024US Instrukcja Użytkownika Strona 1

Przeglądaj online lub pobierz Instrukcja Użytkownika dla Sprzęt komputerowy Intel 253666-024US. Intel 253666-024US User Manual Instrukcja obsługi

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 760
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 0
Intel® 64 and IA-32 Architectures
Software Developer’s Manual
Volume 2A:
Instruction Set Reference, A-M
NOTE: The Intel 64 and IA-32 Architectures Software Developer's Manual
consists of five volumes: Basic Architecture, Order Number 253665;
Instruction Set Reference A-M, Order Number 253666; Instruction Set
Reference N-Z, Order Number 253667; System Programming Guide,
Part 1, Order Number 253668; System Programming Guide, Part 2,
Order Number 253669. Refer to all five volumes when evaluating your
design needs.
Order Number: 253666-024US
August 2007
Przeglądanie stron 0
1 2 3 4 5 6 ... 759 760

Podsumowanie treści

Strona 1 - Software Developer’s Manual

Intel® 64 and IA-32 ArchitecturesSoftware Developer’s ManualVolume 2A:Instruction Set Reference, A-MNOTE: The Intel 64 and IA-32 Architectures Softwar

Strona 2

CONTENTSxVol. 2APAGEPAVGB/PAVGW—Average Packed Integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61PCMPEQB/PCMPEQ

Strona 3

3-54 Vol. 2A AND—Logical ANDINSTRUCTION SET REFERENCE, A-MDescriptionPerforms a bitwise AND operation on the destination (first) and source (second) o

Strona 4

Vol. 2A 3-55INSTRUCTION SET REFERENCE, A-MAND—Logical AND#UD If the LOCK prefix is used but the destination is not a memory operand.Virtual-8086 Mode

Strona 5 - Vol. 2A v

3-56 Vol. 2A ANDPD—Bitwise Logical AND of Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MANDPD—Bitwise Logical AND of Pack

Strona 6

Vol. 2A 3-57INSTRUCTION SET REFERENCE, A-MANDPD—Bitwise Logical AND of Packed Double-Precision Floating-Point ValuesReal-Address Mode Exceptions#GP(0)

Strona 7 - Vol. 2A vii

3-58 Vol. 2A ANDPS—Bitwise Logical AND of Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MANDPS—Bitwise Logical AND of Pack

Strona 8

Vol. 2A 3-59INSTRUCTION SET REFERENCE, A-MANDPS—Bitwise Logical AND of Packed Single-Precision Floating-Point ValuesReal-Address Mode Exceptions#GP(0)

Strona 9 - Vol. 2A ix

3-60 Vol. 2A ANDNPD—Bitwise Logical AND NOT of Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MANDNPD—Bitwise Logical AND N

Strona 10

Vol. 2A 3-61INSTRUCTION SET REFERENCE, A-MANDNPD—Bitwise Logical AND NOT of Packed Double-Precision Floating-Point Values#UD If CR0.EM[bit 2] = 1.If

Strona 11 - Vol. 2A xi

3-62 Vol. 2A ANDNPS—Bitwise Logical AND NOT of Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MANDNPS—Bitwise Logical AND N

Strona 12

Vol. 2A 3-63INSTRUCTION SET REFERENCE, A-MANDNPS—Bitwise Logical AND NOT of Packed Single-Precision Floating-Point ValuesReal-Address Mode Exceptions#

Strona 13 - Vol. 2A xiii

Vol. 2A xiCONTENTSPAGEPUSH—Push Word, Doubleword or Quadword Onto the Stack . . . . . . . . . . . . . . . . . . . 4-217PUSHA/PUSHAD—Push All General-P

Strona 14

3-64 Vol. 2A ARPL—Adjust RPL Field of Segment SelectorINSTRUCTION SET REFERENCE, A-MARPL—Adjust RPL Field of Segment SelectorDescriptionCompares the R

Strona 15 - Vol. 2A xv

Vol. 2A 3-65INSTRUCTION SET REFERENCE, A-MARPL—Adjust RPL Field of Segment SelectorELSEZF ← 0;FI;FI;Flags AffectedThe ZF flag is set to 1 if the RPL f

Strona 16

3-66 Vol. 2A BOUND—Check Array Index Against BoundsINSTRUCTION SET REFERENCE, A-MBOUND—Check Array Index Against BoundsDescriptionBOUND determines if

Strona 17 - Vol. 2A xvii

Vol. 2A 3-67INSTRUCTION SET REFERENCE, A-MBOUND—Check Array Index Against BoundsFlags AffectedNone.Protected Mode Exceptions#BR If the bounds test fai

Strona 18

3-68 Vol. 2A BOUND—Check Array Index Against BoundsINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-

Strona 19 - Vol. 2A xix

Vol. 2A 3-69INSTRUCTION SET REFERENCE, A-MBSF—Bit Scan ForwardBSF—Bit Scan ForwardDescriptionSearches the source operand (second operand) for the leas

Strona 20 - CONTENTS

3-70 Vol. 2A BSF—Bit Scan ForwardINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If a memory operand effective address is outside the CS

Strona 21 - ABOUT THIS MANUAL

Vol. 2A 3-71INSTRUCTION SET REFERENCE, A-MBSR—Bit Scan ReverseBSR—Bit Scan ReverseDescriptionSearches the source operand (second operand) for the most

Strona 22 - 1-2 Vol. 2A

3-72 Vol. 2A BSR—Bit Scan ReverseINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If a memory operand effective address is outside the CS

Strona 23 - 1.3 NOTATIONAL CONVENTIONS

Vol. 2A 3-73INSTRUCTION SET REFERENCE, A-MBSWAP—Byte SwapBSWAP—Byte SwapDescriptionReverses the byte order of a 32-bit or 64-bit (destination) registe

Strona 24 - 1.3.1 Bit and Byte Order

CONTENTSxiiVol. 2APAGESYSCALL—Fast System Call. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 25

3-74 Vol. 2A BSWAP—Byte SwapINSTRUCTION SET REFERENCE, A-MDEST[15:8] ← TEMP[23:16];DEST[23:16] ← TEMP[15:8];DEST[31:24] ← TEMP[7:0];FI;Flags AffectedN

Strona 26 - 1.3.5 Segmented Addressing

Vol. 2A 3-75INSTRUCTION SET REFERENCE, A-MBT—Bit TestBT—Bit TestDescriptionSelects the bit in a bit string (specified with the first operand, called t

Strona 27 - 1.3.6 Exceptions

3-76 Vol. 2A BT—Bit TestINSTRUCTION SET REFERENCE, A-MOr, it may access 2 bytes starting from the memory address for a 16-bit operand, using this rela

Strona 28 - 1.4 RELATED LITERATURE

Vol. 2A 3-77INSTRUCTION SET REFERENCE, A-MBT—Bit TestVirtual-8086 Mode Exceptions#GP(0) If a memory operand effective address is outside the CS, DS, E

Strona 29 - Vol. 2A 1-9

3-78 Vol. 2A BTC—Bit Test and ComplementINSTRUCTION SET REFERENCE, A-MBTC—Bit Test and ComplementDescriptionSelects the bit in a bit string (specified

Strona 30 - 1-10 Vol. 2A

Vol. 2A 3-79INSTRUCTION SET REFERENCE, A-MBTC—Bit Test and Complementprefix in the form of REX.W promotes operation to 64 bits. See the summary chart

Strona 31 - INSTRUCTION FORMAT

3-80 Vol. 2A BTC—Bit Test and ComplementINSTRUCTION SET REFERENCE, A-M#AC(0) If alignment checking is enabled and an unaligned memory reference is mad

Strona 32 - • Group 4

Vol. 2A 3-81INSTRUCTION SET REFERENCE, A-MBTR—Bit Test and ResetBTR—Bit Test and ResetDESCRIPTIONSelects the bit in a bit string (specified with the f

Strona 33 - 2.1.2 Opcodes

3-82 Vol. 2A BTR—Bit Test and ResetINSTRUCTION SET REFERENCE, A-Mprefix in the form of REX.W promotes operation to 64 bits. See the summary chart at t

Strona 34 - 2.1.3 ModR/M and SIB Bytes

Vol. 2A 3-83INSTRUCTION SET REFERENCE, A-MBTR—Bit Test and Reset#AC(0) If alignment checking is enabled and an unaligned memory reference is made.#UD

Strona 35 - Vol. 2A 2-5

Vol. 2A xiiiCONTENTSPAGECHAPTER 6SAFER MODE EXTENSIONS REFERENCE6.1 OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 36 - 2-6 Vol. 2A

3-84 Vol. 2A BTS—Bit Test and SetINSTRUCTION SET REFERENCE, A-MBTS—Bit Test and SetDescriptionSelects the bit in a bit string (specified with the firs

Strona 37 - Vol. 2A 2-7

Vol. 2A 3-85INSTRUCTION SET REFERENCE, A-MBTS—Bit Test and Setprefix in the form of REX.W promotes operation to 64 bits. See the summary chart at the

Strona 38 - 2-8 Vol. 2A

3-86 Vol. 2A BTS—Bit Test and SetINSTRUCTION SET REFERENCE, A-M#AC(0) If alignment checking is enabled and an unaligned memory reference is made.#UD

Strona 39 - 2.2.1 REX Prefixes

Vol. 2A 3-87INSTRUCTION SET REFERENCE, A-MCALL—Call ProcedureCALL—Call ProcedureDescriptionSaves procedure linking information on the stack and branch

Strona 40 - 2.2.1.1 Encoding

3-88 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-Mthe first instruction in the called procedure. The operand can be an immediate value, a

Strona 41 - 5UUU %EEE

Vol. 2A 3-89INSTRUCTION SET REFERENCE, A-MCALL—Call Procedureor 64 bits). In 64-bit mode the target operand will always be 64-bits because the operand

Strona 42 - 2-12 Vol. 2A

3-90 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-Msegment selector for the new code segment and the new instruction pointer (offset) from

Strona 43 - 2.2.1.3 Displacement

Vol. 2A 3-91INSTRUCTION SET REFERENCE, A-MCALL—Call ProcedureFar Calls in Compatibility Mode. When the processor is operating in compatibility mode, t

Strona 44 - 2.2.1.5 Immediates

3-92 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-Mpushes the segment selector and stack pointer for the calling procedure’s stack and the

Strona 45 - • Near branches

Vol. 2A 3-93INSTRUCTION SET REFERENCE, A-MCALL—Call ProcedureNote that when using a call gate to perform a far call to a segment at the same priv-ileg

Strona 46

CONTENTSxivVol. 2APAGEA.5.2.3 Escape Opcodes with DA as First Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25A

Strona 47 - CHAPTER 3

3-94 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-MTHENtempRIP ← DEST; (* DEST is r/m64 *)IF stack not large enough for a 8-byte return add

Strona 48 - 3-2 Vol. 2A

Vol. 2A 3-95INSTRUCTION SET REFERENCE, A-MCALL—Call ProcedurePush(IP);CS ← DEST[31:16]; (* DEST is ptr16:16 or [m16:16] *)EIP ← DEST[15:0]; (* DEST is

Strona 49

3-96 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-MtempEIP ← tempEIP AND 0000FFFFH; FI; (* Clear upper 16 bits *)IF (EFER.LMA = 0 or target

Strona 50 - 3-4 Vol. 2A

Vol. 2A 3-97INSTRUCTION SET REFERENCE, A-MCALL—Call ProceduretempEIP ← DEST(Offset);IF OperandSize = 16THEN tempEIP ← tempEIP AND 0000FFFFH; FI; (* Cl

Strona 51 - Vol. 2A 3-5

3-98 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-MTHEN #GP(code segment selector); FI;Read code segment descriptor;IF code-segment segment

Strona 52 - 3-6 Vol. 2A

Vol. 2A 3-99INSTRUCTION SET REFERENCE, A-MCALL—Call Procedureor stack segment DPL ≠ DPL of code segment or stack segment is not awritable data segment

Strona 53 - 3.1.1.7 Operation Section

3-100 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-M(* Segment descriptor information also loaded *)Push(oldSS:oldESP); (* From calling pro

Strona 54 - 3-8 Vol. 2A

Vol. 2A 3-101INSTRUCTION SET REFERENCE, A-MCALL—Call ProcedureTHEN #GP(task gate selector); FI;IF task gate not present THEN #NP(task gate selector);

Strona 55 - Vol. 2A 3-9

3-102 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-M#GP(selector) If a code segment or gate or TSS selector index is outside descriptor tab

Strona 56 - 3-10 Vol. 2A

Vol. 2A 3-103INSTRUCTION SET REFERENCE, A-MCALL—Call ProcedureIf the RPL of the new stack segment selector in the TSS is not equal to the DPL of the c

Strona 57 - Vol. 2A 3-11

Vol. 2A xvCONTENTSPAGEFIGURESFigure 1-1. Bit and Byte Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 58 - Technology Intrinsics

3-104 Vol. 2A CALL—Call ProcedureINSTRUCTION SET REFERENCE, A-MIf code segment or 64-bit call gate overlaps non-canonical space. If the segment descri

Strona 59 - Vol. 2A 3-13

Vol. 2A 3-105INSTRUCTION SET REFERENCE, A-MCBW/CWDE/CDQE—Convert Byte to Word/Convert Word to Doubleword/Convert Double-word to QuadwordCBW/CWDE/CDQE—

Strona 60 - 3-14 Vol. 2A

3-106 Vol. 2A CLC—Clear Carry FlagINSTRUCTION SET REFERENCE, A-MCLC—Clear Carry FlagDescriptionClears the CF flag in the EFLAGS register. Operation is

Strona 61 - Vol. 2A 3-15

Vol. 2A 3-107INSTRUCTION SET REFERENCE, A-MCLD—Clear Direction FlagCLD—Clear Direction FlagDescriptionClears the DF flag in the EFLAGS register. When

Strona 62 - 3-16 Vol. 2A

3-108 Vol. 2A CLFLUSH—Flush Cache LineINSTRUCTION SET REFERENCE, A-MCLFLUSH—Flush Cache LineDescriptionInvalidates the cache line that contains the li

Strona 63 - Vol. 2A 3-17

Vol. 2A 3-109INSTRUCTION SET REFERENCE, A-MCLFLUSH—Flush Cache LineOperationFlush_Cache_Line(SRC);Intel C/C++ Compiler Intrinsic EquivalentsCLFLUSH vo

Strona 64 - 3.2 INSTRUCTIONS (A-M)

3-110 Vol. 2A CLI — Clear Interrupt FlagINSTRUCTION SET REFERENCE, A-MCLI — Clear Interrupt FlagDescriptionIf protected-mode virtual interrupts are no

Strona 65

Vol. 2A 3-111INSTRUCTION SET REFERENCE, A-MCLI — Clear Interrupt FlagTHENIF IOPL ← CPLTHENIF ← 0; (* Reset Interrupt Flag *)ELSEIF ((IOPL < CPL) an

Strona 66

3-112 Vol. 2A CLI — Clear Interrupt FlagINSTRUCTION SET REFERENCE, A-MVirtual-8086 Mode Exceptions#GP(0) If the CPL is greater (has less privilege) t

Strona 67

Vol. 2A 3-113INSTRUCTION SET REFERENCE, A-MCLTS—Clear Task-Switched Flag in CR0CLTS—Clear Task-Switched Flag in CR0DescriptionClears the task-switched

Strona 68

CONTENTSxviVol. 2APAGETABLESTable 2-1. 16-Bit Addressing Forms with the ModR/M Byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6T

Strona 69

3-114 Vol. 2A CLTS—Clear Task-Switched Flag in CR0INSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-B

Strona 70

Vol. 2A 3-115INSTRUCTION SET REFERENCE, A-MCMC—Complement Carry FlagCMC—Complement Carry FlagDescriptionComplements the CF flag in the EFLAGS register

Strona 71

3-116 Vol. 2A CMOVcc—Conditional MoveINSTRUCTION SET REFERENCE, A-MCMOVcc—Conditional MoveOpcode Instruction 64-Bit ModeCompat/Leg ModeDescription0F 4

Strona 72

Vol. 2A 3-117INSTRUCTION SET REFERENCE, A-MCMOVcc—Conditional MoveOpcode Instruction 64-Bit ModeCompat/Leg ModeDescription0F 4D /r CMOVGE r32, r/m32 V

Strona 73 - ADC—Add with Carry

3-118 Vol. 2A CMOVcc—Conditional MoveINSTRUCTION SET REFERENCE, A-MOpcode Instruction 64-Bit ModeCompat/Leg ModeDescription0F 43 /r CMOVNC r16, r/m16

Strona 74

Vol. 2A 3-119INSTRUCTION SET REFERENCE, A-MCMOVcc—Conditional MoveOpcode Instruction 64-Bit ModeCompat/Leg ModeDescriptionREX.W + 0F 4B /r CMOVNP r64,

Strona 75

3-120 Vol. 2A CMOVcc—Conditional MoveINSTRUCTION SET REFERENCE, A-MDescriptionThe CMOVcc instructions check the state of one or more of the status fla

Strona 76

Vol. 2A 3-121INSTRUCTION SET REFERENCE, A-MCMOVcc—Conditional MoveDEST ← temp;FI;FI;Flags AffectedNone.Protected Mode Exceptions#GP(0) If a memory ope

Strona 77

3-122 Vol. 2A CMOVcc—Conditional MoveINSTRUCTION SET REFERENCE, A-M64-Bit Mode Exceptions#SS(0) If a memory address referencing the SS segment is in a

Strona 78

Vol. 2A 3-123INSTRUCTION SET REFERENCE, A-MCMP—Compare Two OperandsCMP—Compare Two OperandsOpcode Instruction 64-Bit ModeCompat/Leg ModeDescription3C

Strona 79

Vol. 2A xviiCONTENTSPAGETable 3-38. FPTAN Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 80

3-124 Vol. 2A CMP—Compare Two OperandsINSTRUCTION SET REFERENCE, A-MDescriptionCompares the first source operand with the second source operand and se

Strona 81 - Vol. 2A 3-35

Vol. 2A 3-125INSTRUCTION SET REFERENCE, A-MCMP—Compare Two OperandsVirtual-8086 Mode Exceptions#GP(0) If a memory operand effective address is outside

Strona 82

3-126 Vol. 2A CMPPD—Compare Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCMPPD—Compare Packed Double-Precision Floating-

Strona 83

Vol. 2A 3-127INSTRUCTION SET REFERENCE, A-MCMPPD—Compare Packed Double-Precision Floating-Point ValuesThe unordered relationship is true when at least

Strona 84

3-128 Vol. 2A CMPPD—Compare Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MThe greater-than relations that the processor d

Strona 85 - Vol. 2A 3-39

Vol. 2A 3-129INSTRUCTION SET REFERENCE, A-MCMPPD—Compare Packed Double-Precision Floating-Point ValuesCMPPD for inequality __m128d _mm_cmpneq_pd(__m12

Strona 86

3-130 Vol. 2A CMPPD—Compare Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point excepti

Strona 87 - Vol. 2A 3-41

Vol. 2A 3-131INSTRUCTION SET REFERENCE, A-MCMPPS—Compare Packed Single-Precision Floating-Point ValuesCMPPS—Compare Packed Single-Precision Floating-P

Strona 88

3-132 Vol. 2A CMPPS—Compare Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MThe greater-than relations not implemented by t

Strona 89

Vol. 2A 3-133INSTRUCTION SET REFERENCE, A-MCMPPS—Compare Packed Single-Precision Floating-Point ValuesTHEN DEST95:64] ← FFFFFFFFH;ELSE DEST[95:64] ← 0

Strona 90

CONTENTSxviiiVol. 2APAGETable A-1. Superscripts Utilized in Opcode Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 91

3-134 Vol. 2A CMPPS—Compare Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MIf CPUID.01H:EDX.SSE[bit 25] = 0.If the LOCK pr

Strona 92 - xmm2/m128[63:0];

Vol. 2A 3-135INSTRUCTION SET REFERENCE, A-MCMPPS—Compare Packed Single-Precision Floating-Point Values#UD If an unmasked SIMD floating-point exceptio

Strona 93

3-136 Vol. 2A CMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String OperandsINSTRUCTION SET REFERENCE, A-MCMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String OperandsOp

Strona 94

Vol. 2A 3-137INSTRUCTION SET REFERENCE, A-MCMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String OperandsDescriptionCompares the byte, word, doubleword, or quad

Strona 95

3-138 Vol. 2A CMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String OperandsINSTRUCTION SET REFERENCE, A-MRDI) registers are assumed by the processor to specify

Strona 96

Vol. 2A 3-139INSTRUCTION SET REFERENCE, A-MCMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String Operands(R|E)DI ← (R|E)DI – 2; FI;ELSE IF (Doubleword compariso

Strona 97

3-140 Vol. 2A CMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String OperandsINSTRUCTION SET REFERENCE, A-M(E)SI ← (E)SI – 4; (E)DI ← (E)DI – 4; FI;FI;FI;Flags A

Strona 98

Vol. 2A 3-141INSTRUCTION SET REFERENCE, A-MCMPS/CMPSB/CMPSW/CMPSD/CMPSQ—Compare String Operands64-Bit Mode Exceptions#SS(0) If a memory address refere

Strona 99 - AND—Logical AND

3-142 Vol. 2A CMPSD—Compare Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCMPSD—Compare Scalar Double-Precision Floating-

Strona 100 - Real-Address Mode Exceptions

Vol. 2A 3-143INSTRUCTION SET REFERENCE, A-MCMPSD—Compare Scalar Double-Precision Floating-Point ValuesThe greater-than relations not implemented in th

Strona 101 - 64-Bit Mode Exceptions

Vol. 2A xixCONTENTSPAGETable B-23. Format and Encoding of SSE Cacheability & Memory Ordering Instructions. . . . . .B-67Table B-24. Encoding of Gr

Strona 102 - Point Values

3-144 Vol. 2A CMPSD—Compare Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCMPSD for greater-than-or-equal__m128d _mm_cmpg

Strona 103

Vol. 2A 3-145INSTRUCTION SET REFERENCE, A-MCMPSD—Compare Scalar Double-Precision Floating-Point ValuesIf CR4.OSFXSR[bit 9] = 0.If CPUID.01H:EDX.SSE2[b

Strona 104

3-146 Vol. 2A CMPSS—Compare Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCMPSS—Compare Scalar Single-Precision Floating-

Strona 105

Vol. 2A 3-147INSTRUCTION SET REFERENCE, A-MCMPSS—Compare Scalar Single-Precision Floating-Point ValuesThe greater-than relations not implemented in th

Strona 106 - Floating-Point Values

3-148 Vol. 2A CMPSS—Compare Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCMPSS for less-than __m128 _mm_cmplt_ss(__m128

Strona 107

Vol. 2A 3-149INSTRUCTION SET REFERENCE, A-MCMPSS—Compare Scalar Single-Precision Floating-Point Values#UD If an unmasked SIMD floating-point exceptio

Strona 108

3-150 Vol. 2A CMPXCHG—Compare and ExchangeINSTRUCTION SET REFERENCE, A-MCMPXCHG—Compare and ExchangeDescriptionCompares the value in the AL, AX, EAX,

Strona 109

Vol. 2A 3-151INSTRUCTION SET REFERENCE, A-MCMPXCHG—Compare and ExchangeIn 64-bit mode, the instruction’s default operation size is 32 bits. Use of the

Strona 110

3-152 Vol. 2A CMPXCHG—Compare and ExchangeINSTRUCTION SET REFERENCE, A-MReal-Address Mode Exceptions#GP If a memory operand effective address is outsi

Strona 111 - Vol. 2A 3-65

Vol. 2A 3-153INSTRUCTION SET REFERENCE, A-MCMPXCHG8B/CMPXCHG16B—Compare and Exchange BytesCMPXCHG8B/CMPXCHG16B—Compare and Exchange BytesDescriptionCo

Strona 112

ii Vol. 2AINFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE,EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY

Strona 113

CONTENTSxxVol. 2APAGE

Strona 114

3-154 Vol. 2A CMPXCHG8B/CMPXCHG16B—Compare and Exchange BytesINSTRUCTION SET REFERENCE, A-MOperationIF (64-Bit Mode and OperandSize = 64)THENIF (RDX:R

Strona 115 - BSF—Bit Scan Forward

Vol. 2A 3-155INSTRUCTION SET REFERENCE, A-MCMPXCHG8B/CMPXCHG16B—Compare and Exchange Bytes#SS If a memory operand effective address is outside the SS

Strona 116

3-156 Vol. 2A COMISD—Compare Scalar Ordered Double-Precision Floating-Point Values and SetEFLAGSINSTRUCTION SET REFERENCE, A-MCOMISD—Compare Scalar Or

Strona 117 - BSR—Bit Scan Reverse

Vol. 2A 3-157INSTRUCTION SET REFERENCE, A-MCOMISD—Compare Scalar Ordered Double-Precision Floating-Point Values and Set EFLAGSint _mm_comile_sd (__m12

Strona 118

3-158 Vol. 2A COMISD—Compare Scalar Ordered Double-Precision Floating-Point Values and SetEFLAGSINSTRUCTION SET REFERENCE, A-MVirtual-8086 Mode Except

Strona 119 - BSWAP—Byte Swap

Vol. 2A 3-159INSTRUCTION SET REFERENCE, A-MCOMISS—Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGSCOMISS—Compare Scalar Or

Strona 120

3-160 Vol. 2A COMISS—Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGSINSTRUCTION SET REFERENCE, A-Mint _mm_comile_ss (__m1

Strona 121 - BT—Bit Test

Vol. 2A 3-161INSTRUCTION SET REFERENCE, A-MCOMISS—Compare Scalar Ordered Single-Precision Floating-Point Values and Set EFLAGSVirtual-8086 Mode Except

Strona 122

3-162 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationDescriptionThe ID flag (bit 21) in the EFLAGS register ind

Strona 123

Vol. 2A 3-163INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationSee also: “Serializing Instructions” in Chapter 7, “Multiple-Processor Management,”

Strona 124 - BTC—Bit Test and Complement

Vol. 2A 1-1CHAPTER 1ABOUT THIS MANUALThe Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volumes 2A & 2B: Instruction Set Reference

Strona 125

3-164 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MCPUID leaves > 3 < 80000000 are visible only when IA32_MISC_ENABLES.BOOT_NT4

Strona 126

Vol. 2A 3-165INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationMONITOR/MWAIT Leaf 5H EAX Bits 15-00: Smallest monitor-line size in bytes (default

Strona 127 - BTR—Bit Test and Reset

3-166 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-M0AH EAX Bits 07 - 00: Version ID of architectural performance monitoringBits 15- 0

Strona 128

Vol. 2A 3-167INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationEDX Bits 10-0: ReservedBit 11: SYSCALL/SYSRET available (when in 64-bit mode)Bits 1

Strona 129

3-168 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MINPUT EAX = 0: Returns CPUID’s Highest Value for Basic Processor Information and t

Strona 130 - BTS—Bit Test and Set

Vol. 2A 3-169INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationIA32_BIOS_SIGN_ID Returns Microcode Update SignatureFor processors that support the

Strona 131

3-170 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MSee Table 3-14 for available processor type values. Stepping IDs are provided as n

Strona 132

Vol. 2A 3-171INSTRUCTION SET REFERENCE, A-MCPUID—CPU Identification(* Right justify and zero-extend 4-bit field. *)FI;(* Show Display_Family as HEX fi

Strona 133 - CALL—Call Procedure

3-172 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-M Figure 3-6. Feature Information Returned in the ECX RegisterOM16524bCNXT-ID — L1

Strona 134

Vol. 2A 3-173INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationTable 3-15. Feature Information Returned in the ECX Register Bit # Mnemonic Desc

Strona 135 - Vol. 2A 3-89

1-2 Vol. 2AABOUT THIS MANUAL• Intel® Core™2 Duo processor• Intel® Core™2 Quad processor• Intel® Xeon® processor 3000, 3200 series• Intel® Xeon® proces

Strona 136

3-174 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-M21 - 22 Reserved Reserved23 POPCNT A value of 1 indicates that the processor suppo

Strona 137 - Vol. 2A 3-91

Vol. 2A 3-175INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationTable 3-16. More on Feature Information Returned in the EDX RegisterBit # Mnemoni

Strona 138 - -byte call gate

3-176 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-M13 PGE PTE Global Bit. The global bit in page directory entries (PDEs) and page t

Strona 139

Vol. 2A 3-177INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationINPUT EAX = 2: Cache and TLB Information Returned in EAX, EBX, ECX, EDXWhen CPUID e

Strona 140 - = 16 *)

3-178 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MTable 3-17. Encoding of Cache and TLB Descriptors Descriptor Value Cache or TLB D

Strona 141 - Vol. 2A 3-95

Vol. 2A 3-179INSTRUCTION SET REFERENCE, A-MCPUID—CPU Identification56H Data TLB0: 4 MByte pages, 4-way set associative, 16 entries57H Data TLB0: 4 KBy

Strona 142 - ≠ CPL)

3-180 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MExample 3-1. Example of Cache and TLB InterpretationThe first member of the famil

Strona 143 - Vol. 2A 3-97

Vol. 2A 3-181INSTRUCTION SET REFERENCE, A-MCPUID—CPU Identificationquery maximum number of cores per physical package by executing CPUID with EAX=4 an

Strona 144 - ≠ DPL of code segment

3-182 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MThis method (introduced with Pentium 4 processors) returns an ASCII brand identifi

Strona 145 - Vol. 2A 3-99

Vol. 2A 3-183INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationTable 3-18 shows the brand string that is returned by the first processor in the Pe

Strona 146

Vol. 2A 1-3ABOUT THIS MANUALChapter 1 — About This Manual. Gives an overview of all five volumes of the Intel® 64 and IA-32 Architectures Software Dev

Strona 147

3-184 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MThe Processor Brand Index MethodThe brand index method (introduced with Pentium® I

Strona 148

Vol. 2A 3-185INSTRUCTION SET REFERENCE, A-MCPUID—CPU Identificationdo not support the brand identification feature. Starting with processor signature

Strona 149

3-186 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MIA-32 Architecture CompatibilityCPUID is not supported in early models of the Inte

Strona 150

Vol. 2A 3-187INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationBREAKEAX = 4H:EAX ← Deterministic Cache Parameters Leaf; (* See Table 3-12. *)EBX ←

Strona 151 - Vol. 2A 3-105

3-188 Vol. 2A CPUID—CPU IdentificationINSTRUCTION SET REFERENCE, A-MEAX = 80000002H:EAX ← Processor Brand String; EBX ← Processor Brand String, contin

Strona 152 - CLC—Clear Carry Flag

Vol. 2A 3-189INSTRUCTION SET REFERENCE, A-MCPUID—CPU IdentificationEAX ← Reserved; (* Information returned for highest basic information leaf. *)EBX ←

Strona 153 - CLD—Clear Direction Flag

3-190 Vol. 2A CVTDQ2PD—Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCVTDQ2PD—Conve

Strona 154 - CLFLUSH—Flush Cache Line

Vol. 2A 3-191INSTRUCTION SET REFERENCE, A-MCVTDQ2PD—Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point ValuesIf CPUID.01H:ED

Strona 155 - Vol. 2A 3-109

3-192 Vol. 2A CVTDQ2PS—Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCVTDQ2PS—Conve

Strona 156 - CLI — Clear Interrupt Flag

Vol. 2A 3-193INSTRUCTION SET REFERENCE, A-MCVTDQ2PS—Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values#NM If CR0.TS[b

Strona 157 - < 3) AND (VME = 1)

1-4 Vol. 2AABOUT THIS MANUAL1.3.1 Bit and Byte OrderIn illustrations of data structures in memory, smaller addresses appear toward the bottom of the

Strona 158

3-194 Vol. 2A CVTDQ2PS—Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#NM If CR0.TS[

Strona 159 - Vol. 2A 3-113

Vol. 2A 3-195INSTRUCTION SET REFERENCE, A-MCVTPD2DQ—Convert Packed Double-Precision Floating-Point Values to Packed Double-word IntegersCVTPD2DQ—Conve

Strona 160

3-196 Vol. 2A CVTPD2DQ—Convert Packed Double-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MIf a memory o

Strona 161 - CMC—Complement Carry Flag

Vol. 2A 3-197INSTRUCTION SET REFERENCE, A-MCVTPD2DQ—Convert Packed Double-Precision Floating-Point Values to Packed Double-word Integers#GP(0) If the

Strona 162 - CMOVcc—Conditional Move

3-198 Vol. 2A CVTPD2PI—Convert Packed Double-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MCVTPD2PI—Conv

Strona 163 - Vol. 2A 3-117

Vol. 2A 3-199INSTRUCTION SET REFERENCE, A-MCVTPD2PI—Convert Packed Double-Precision Floating-Point Values to Packed Double-word IntegersProtected Mode

Strona 164

3-200 Vol. 2A CVTPD2PI—Convert Packed Double-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MCompatibility

Strona 165 - Vol. 2A 3-119

Vol. 2A 3-201INSTRUCTION SET REFERENCE, A-MCVTPD2PS—Convert Packed Double-Precision Floating-Point Values to Packed Single-Precision Floating-Point Va

Strona 166

3-202 Vol. 2A CVTPD2PS—Convert Packed Double-Precision Floating-Point Values to Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE

Strona 167

Vol. 2A 3-203INSTRUCTION SET REFERENCE, A-MCVTPD2PS—Convert Packed Double-Precision Floating-Point Values to Packed Single-Precision Floating-Point Va

Strona 168

Vol. 2A 1-5ABOUT THIS MANUAL1.3.2 Reserved Bits and Software CompatibilityIn many register and memory layout descriptions, certain bits are marked as

Strona 169 - CMP—Compare Two Operands

3-204 Vol. 2A CVTPI2PD—Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MCVTPI2PD—Conve

Strona 170

Vol. 2A 3-205INSTRUCTION SET REFERENCE, A-MCVTPI2PD—Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point ValuesProtected Mode

Strona 171

3-206 Vol. 2A CVTPI2PD—Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#MF If there

Strona 172

Vol. 2A 3-207INSTRUCTION SET REFERENCE, A-MCVTPI2PS—Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point ValuesCVTPI2PS—Conver

Strona 173 - Vol. 2A 3-127

3-208 Vol. 2A CVTPI2PS—Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#PF(fault-code

Strona 174

Vol. 2A 3-209INSTRUCTION SET REFERENCE, A-MCVTPI2PS—Convert Packed Doubleword Integers to Packed Single-Precision Floating-Point Values64-Bit Mode Exc

Strona 175

3-210 Vol. 2A CVTPS2DQ—Convert Packed Single-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MCVTPS2DQ—Conv

Strona 176

Vol. 2A 3-211INSTRUCTION SET REFERENCE, A-MCVTPS2DQ—Convert Packed Single-Precision Floating-Point Values to Packed Double-word Integers#SS(0) For an

Strona 177

3-212 Vol. 2A CVTPS2DQ—Convert Packed Single-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MIf memory ope

Strona 178

Vol. 2A 3-213INSTRUCTION SET REFERENCE, A-MCVTPS2PD—Convert Packed Single-Precision Floating-Point Values to Packed Double-Precision Floating-Point Va

Strona 179

1-6 Vol. 2AABOUT THIS MANUAL1.3.3 Instruction OperandsWhen instructions are represented symbolically, a subset of the IA-32 assembly language is used.

Strona 180

3-214 Vol. 2A CVTPS2PD—Convert Packed Single-Precision Floating-Point Values to Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE

Strona 181 - Vol. 2A 3-135

Vol. 2A 3-215INSTRUCTION SET REFERENCE, A-MCVTPS2PD—Convert Packed Single-Precision Floating-Point Values to Packed Double-Precision Floating-Point Va

Strona 182

3-216 Vol. 2A CVTPS2PI—Convert Packed Single-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MCVTPS2PI—Conv

Strona 183

Vol. 2A 3-217INSTRUCTION SET REFERENCE, A-MCVTPS2PI—Convert Packed Single-Precision Floating-Point Values to Packed Double-word IntegersProtected Mode

Strona 184

3-218 Vol. 2A CVTPS2PI—Convert Packed Single-Precision Floating-Point Values to Packed Double-word IntegersINSTRUCTION SET REFERENCE, A-MCompatibility

Strona 185 - Vol. 2A 3-139

Vol. 2A 3-219INSTRUCTION SET REFERENCE, A-MCVTSD2SI—Convert Scalar Double-Precision Floating-Point Value to Doubleword IntegerCVTSD2SI—Convert Scalar

Strona 186

3-220 Vol. 2A CVTSD2SI—Convert Scalar Double-Precision Floating-Point Value to Doubleword IntegerINSTRUCTION SET REFERENCE, A-MSIMD Floating-Point Exc

Strona 187

Vol. 2A 3-221INSTRUCTION SET REFERENCE, A-MCVTSD2SI—Convert Scalar Double-Precision Floating-Point Value to Doubleword IntegerCompatibility Mode Excep

Strona 188

3-222 Vol. 2A CVTSD2SS—Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Preci-sion Floating-Point ValueINSTRUCTION SET REFERENCE,

Strona 189

Vol. 2A 3-223INSTRUCTION SET REFERENCE, A-MCVTSD2SS—Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Preci-sion Floating-Point Va

Strona 190

Vol. 2A 1-7ABOUT THIS MANUALFor example, a program can keep its code (instructions) and stack in separate segments. Code addresses would always refer

Strona 191

3-224 Vol. 2A CVTSD2SS—Convert Scalar Double-Precision Floating-Point Value to Scalar Single-Preci-sion Floating-Point ValueINSTRUCTION SET REFERENCE,

Strona 192

Vol. 2A 3-225INSTRUCTION SET REFERENCE, A-MCVTSI2SD—Convert Doubleword Integer to Scalar Double-Precision Floating-Point ValueCVTSI2SD—Convert Doublew

Strona 193

3-226 Vol. 2A CVTSI2SD—Convert Doubleword Integer to Scalar Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptio

Strona 194

Vol. 2A 3-227INSTRUCTION SET REFERENCE, A-MCVTSI2SD—Convert Doubleword Integer to Scalar Double-Precision Floating-Point Value64-Bit Mode Exceptions#S

Strona 195

3-228 Vol. 2A CVTSI2SS—Convert Doubleword Integer to Scalar Single-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MCVTSI2SS—Convert Double

Strona 196 - CMPXCHG—Compare and Exchange

Vol. 2A 3-229INSTRUCTION SET REFERENCE, A-MCVTSI2SS—Convert Doubleword Integer to Scalar Single-Precision Floating-Point ValueSIMD Floating-Point Exce

Strona 197

3-230 Vol. 2A CVTSI2SS—Convert Doubleword Integer to Scalar Single-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MCompatibility Mode Exce

Strona 198

Vol. 2A 3-231INSTRUCTION SET REFERENCE, A-MCVTSS2SD—Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Preci-sion Floating-Point Va

Strona 199

3-232 Vol. 2A CVTSS2SD—Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Preci-sion Floating-Point ValueINSTRUCTION SET REFERENCE,

Strona 200

Vol. 2A 3-233INSTRUCTION SET REFERENCE, A-MCVTSS2SD—Convert Scalar Single-Precision Floating-Point Value to Scalar Double-Preci-sion Floating-Point Va

Strona 201

1-8 Vol. 2AABOUT THIS MANUAL1.4 RELATED LITERATURELiterature related to Intel 64 and IA-32 processors is listed on-line at: http://developer.intel.com

Strona 202 - Values and Set EFLAGS

3-234 Vol. 2A CVTSS2SI—Convert Scalar Single-Precision Floating-Point Value to Doubleword IntegerINSTRUCTION SET REFERENCE, A-MCVTSS2SI—Convert Scalar

Strona 203

Vol. 2A 3-235INSTRUCTION SET REFERENCE, A-MCVTSS2SI—Convert Scalar Single-Precision Floating-Point Value to Doubleword IntegerSIMD Floating-Point Exce

Strona 204

3-236 Vol. 2A CVTSS2SI—Convert Scalar Single-Precision Floating-Point Value to Doubleword IntegerINSTRUCTION SET REFERENCE, A-MCompatibility Mode Exce

Strona 205

Vol. 2A 3-237INSTRUCTION SET REFERENCE, A-MCVTTPD2PI—Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Intege

Strona 206

3-238 Vol. 2A CVTTPD2PI—Convert with Truncation Packed Double-Precision Floating-Point Values toPacked Doubleword IntegersINSTRUCTION SET REFERENCE, A

Strona 207

Vol. 2A 3-239INSTRUCTION SET REFERENCE, A-MCVTTPD2PI—Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Intege

Strona 208 - CPUID—CPU Identification

3-240 Vol. 2A CVTTPD2DQ—Convert with Truncation Packed Double-Precision Floating-Point Valuesto Packed Doubleword IntegersINSTRUCTION SET REFERENCE, A

Strona 209 - Vol. 2A 3-163

Vol. 2A 3-241INSTRUCTION SET REFERENCE, A-MCVTTPD2DQ—Convert with Truncation Packed Double-Precision Floating-Point Values to Packed Doubleword Intege

Strona 210

3-242 Vol. 2A CVTTPD2DQ—Convert with Truncation Packed Double-Precision Floating-Point Valuesto Packed Doubleword IntegersINSTRUCTION SET REFERENCE, A

Strona 211 - Vol. 2A 3-165

Vol. 2A 3-243INSTRUCTION SET REFERENCE, A-MCVTTPS2DQ—Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Intege

Strona 212

Vol. 2A 1-9ABOUT THIS MANUALliterature types: applications notes, data sheets, manuals, papers, and specification updates. See also: • The data sheet

Strona 213 - Vol. 2A 3-167

3-244 Vol. 2A CVTTPS2DQ—Convert with Truncation Packed Single-Precision Floating-Point Values toPacked Doubleword IntegersINSTRUCTION SET REFERENCE, A

Strona 214

Vol. 2A 3-245INSTRUCTION SET REFERENCE, A-MCVTTPS2DQ—Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Intege

Strona 215 - • Processor Type — 00B

3-246 Vol. 2A CVTTPS2PI—Convert with Truncation Packed Single-Precision Floating-Point Values toPacked Doubleword IntegersINSTRUCTION SET REFERENCE, A

Strona 216 - Processor 01B

Vol. 2A 3-247INSTRUCTION SET REFERENCE, A-MCVTTPS2PI—Convert with Truncation Packed Single-Precision Floating-Point Values to Packed Doubleword Intege

Strona 217 - Vol. 2A 3-171

3-248 Vol. 2A CVTTPS2PI—Convert with Truncation Packed Single-Precision Floating-Point Values toPacked Doubleword IntegersINSTRUCTION SET REFERENCE, A

Strona 218 - OM16524b

Vol. 2A 3-249INSTRUCTION SET REFERENCE, A-MCVTTSD2SI—Convert with Truncation Scalar Double-Precision Floating-Point Value to Signed Doubleword Integer

Strona 219 - Vol. 2A 3-173

3-250 Vol. 2A CVTTSD2SI—Convert with Truncation Scalar Double-Precision Floating-Point Value toSigned Doubleword IntegerINSTRUCTION SET REFERENCE, A-M

Strona 220 - (';

Vol. 2A 3-251INSTRUCTION SET REFERENCE, A-MCVTTSD2SI—Convert with Truncation Scalar Double-Precision Floating-Point Value to Signed Doubleword Integer

Strona 221 - Vol. 2A 3-175

3-252 Vol. 2A CVTTSS2SI—Convert with Truncation Scalar Single-Precision Floating-Point Value toDoubleword IntegerINSTRUCTION SET REFERENCE, A-MCVTTSS2

Strona 222

Vol. 2A 3-253INSTRUCTION SET REFERENCE, A-MCVTTSS2SI—Convert with Truncation Scalar Single-Precision Floating-Point Value to Doubleword IntegerIntel C

Strona 223 - Vol. 2A 3-177

Vol. 2A iiiCONTENTSPAGECHAPTER 1ABOUT THIS MANUAL1.1 IA-32 PROCESSORS COVERED IN THIS MANUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 224

1-10 Vol. 2AABOUT THIS MANUAL• Intel 64 and IA-32 processor manuals (printed or PDF downloads):http://developer.intel.com/products/processor/manuals/i

Strona 225 - Vol. 2A 3-179

3-254 Vol. 2A CVTTSS2SI—Convert with Truncation Scalar Single-Precision Floating-Point Value toDoubleword IntegerINSTRUCTION SET REFERENCE, A-M#AC(0)

Strona 226 - -μop, 8-way set associative

Vol. 2A 3-255INSTRUCTION SET REFERENCE, A-MCWD/CDQ/CQO—Convert Word to Doubleword/Convert Doubleword to QuadwordCWD/CDQ/CQO—Convert Word to Doubleword

Strona 227 - Vol. 2A 3-181

3-256 Vol. 2A CWD/CDQ/CQO—Convert Word to Doubleword/Convert Doubleword to QuadwordINSTRUCTION SET REFERENCE, A-MRDX ← SignExtend(RAX); FI;FI;Flags Af

Strona 228 - How Brand Strings Work

Vol. 2A 3-257INSTRUCTION SET REFERENCE, A-MDAA—Decimal Adjust AL after AdditionDAA—Decimal Adjust AL after AdditionDescriptionAdjusts the sum of two p

Strona 229 - Vol. 2A 3-183

3-258 Vol. 2A DAA—Decimal Adjust AL after AdditionINSTRUCTION SET REFERENCE, A-MExampleADD AL, BL Before: AL=79H BL=35H EFLAGS(OSZAPC)=XXXXXXAfter:

Strona 230 - III Xeon

Vol. 2A 3-259INSTRUCTION SET REFERENCE, A-MDAS—Decimal Adjust AL after SubtractionDAS—Decimal Adjust AL after SubtractionDescriptionAdjusts the result

Strona 231

3-260 Vol. 2A DAS—Decimal Adjust AL after SubtractionINSTRUCTION SET REFERENCE, A-MExampleSUB AL, BL Before: AL = 35H, BL = 47H, EFLAGS(OSZAPC) = XX

Strona 232

Vol. 2A 3-261INSTRUCTION SET REFERENCE, A-MDEC—Decrement by 1DEC—Decrement by 1DescriptionSubtracts 1 from the destination operand, while preserving t

Strona 233 - Vol. 2A 3-187

3-262 Vol. 2A DEC—Decrement by 1INSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If the destination operand is located in a non-writable

Strona 234

Vol. 2A 3-263INSTRUCTION SET REFERENCE, A-MDEC—Decrement by 1#AC(0) If alignment checking is enabled and an unaligned memory reference is made while t

Strona 235 - Vol. 2A 3-189

Vol. 2A 2-1CHAPTER 2INSTRUCTION FORMATThis chapter describes the instruction format for all Intel 64 and IA-32 processors. The instruction format for

Strona 236

3-264 Vol. 2A DIV—Unsigned DivideINSTRUCTION SET REFERENCE, A-MDIV—Unsigned DivideDescriptionDivides unsigned the value in the AX, DX:AX, EDX:EAX, or

Strona 237

Vol. 2A 3-265INSTRUCTION SET REFERENCE, A-MDIV—Unsigned DivideOperationIF SRC = 0THEN #DE; FI; (* Divide Error *) IF OperandSize = 8 (* Word/Byte Oper

Strona 238

3-266 Vol. 2A DIV—Unsigned DivideINSTRUCTION SET REFERENCE, A-MELSE IF 64-Bit Mode and Operandsize = 64 (* Doublequadword/quadword operation *)THENtem

Strona 239

Vol. 2A 3-267INSTRUCTION SET REFERENCE, A-MDIV—Unsigned DivideVirtual-8086 Mode Exceptions#DE If the source operand (divisor) is 0.If the quotient is

Strona 240

3-268 Vol. 2A DIVPD—Divide Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MDIVPD—Divide Packed Double-Precision Floating-Po

Strona 241 - Packed Doubleword Integers

Vol. 2A 3-269INSTRUCTION SET REFERENCE, A-MDIVPD—Divide Packed Double-Precision Floating-Point Values#XM If an unmasked SIMD floating-point exception

Strona 242

3-270 Vol. 2A DIVPD—Divide Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#XM If an unmasked SIMD floating-point exceptio

Strona 243 - Vol. 2A 3-197

Vol. 2A 3-271INSTRUCTION SET REFERENCE, A-MDIVPS—Divide Packed Single-Precision Floating-Point ValuesDIVPS—Divide Packed Single-Precision Floating-Poi

Strona 244

3-272 Vol. 2A DIVPS—Divide Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#NM If CR0.TS[bit 3] = 1. #XM If an unmasked SI

Strona 245

Vol. 2A 3-273INSTRUCTION SET REFERENCE, A-MDIVPS—Divide Packed Single-Precision Floating-Point Values#NM If CR0.TS[bit 3] = 1. #XM If an unmasked SIM

Strona 246

2-2 Vol. 2AINSTRUCTION FORMAT• F2H—REPNE/REPNZ (used only with string instructions; when used with the escape opcode 0FH, this prefix is treated as a

Strona 247

3-274 Vol. 2A DIVSD—Divide Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MDIVSD—Divide Scalar Double-Precision Floating-Po

Strona 248

Vol. 2A 3-275INSTRUCTION SET REFERENCE, A-MDIVSD—Divide Scalar Double-Precision Floating-Point ValuesIf CR0.EM[bit 2] = 1.If CR4.OSFXSR[bit 9] = 0.If

Strona 249

3-276 Vol. 2A DIVSD—Divide Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MIf CR0.EM[bit 2] = 1.If CR4.OSFXSR[bit 9] = 0.If

Strona 250

Vol. 2A 3-277INSTRUCTION SET REFERENCE, A-MDIVSS—Divide Scalar Single-Precision Floating-Point ValuesDIVSS—Divide Scalar Single-Precision Floating-Poi

Strona 251

3-278 Vol. 2A DIVSS—Divide Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MIf CR0.EM[bit 2] = 1.If CR4.OSFXSR[bit 9] = 0.If

Strona 252

Vol. 2A 3-279INSTRUCTION SET REFERENCE, A-MDIVSS—Divide Scalar Single-Precision Floating-Point ValuesIf CR0.EM[bit 2] = 1.If CR4.OSFXSR[bit 9] = 0.If

Strona 253

3-280 Vol. 2A EMMS—Empty MMX Technology StateINSTRUCTION SET REFERENCE, A-MEMMS—Empty MMX Technology StateDescription Sets the values of all the tags

Strona 254

Vol. 2A 3-281INSTRUCTION SET REFERENCE, A-MEMMS—Empty MMX Technology StateVirtual-8086 Mode ExceptionsSame exceptions as in protected mode.Compatibili

Strona 255

3-282 Vol. 2A ENTER—Make Stack Frame for Procedure ParametersINSTRUCTION SET REFERENCE, A-MENTER—Make Stack Frame for Procedure ParametersDescriptionC

Strona 256

Vol. 2A 3-283INSTRUCTION SET REFERENCE, A-MENTER—Make Stack Frame for Procedure ParametersOperationNestingLevel ← NestingLevel MOD 32IF 64-Bit Mode (S

Strona 257

Vol. 2A 2-3INSTRUCTION FORMATopcodes with Intel 64 or IA-32 instructions is reserved; such use may cause unpre-dictable behavior.The operand-size over

Strona 258

3-284 Vol. 2A ENTER—Make Stack Frame for Procedure ParametersINSTRUCTION SET REFERENCE, A-MFI;FI;OD;FI;IF 64-Bit Mode (StackSize = 64)THENPush(FrameTe

Strona 259

Vol. 2A 3-285INSTRUCTION SET REFERENCE, A-MENTER—Make Stack Frame for Procedure ParametersReal-Address Mode Exceptions#SS(0) If the new value of the S

Strona 260

3-286 Vol. 2A F2XM1—Compute 2x–1INSTRUCTION SET REFERENCE, A-MF2XM1—Compute 2x–1DescriptionComputes the exponential value of 2 to the power of the sou

Strona 261 - Vol. 2A 3-215

Vol. 2A 3-287INSTRUCTION SET REFERENCE, A-MF2XM1—Compute 2x–1#U Result is too small for destination format.#P Value cannot be represented exactly in d

Strona 262

3-288 Vol. 2A FABS—Absolute ValueINSTRUCTION SET REFERENCE, A-MFABS—Absolute ValueDescriptionClears the sign bit of ST(0) to create the absolute value

Strona 263

Vol. 2A 3-289INSTRUCTION SET REFERENCE, A-MFABS—Absolute ValueReal-Address Mode ExceptionsSame exceptions as in protected mode.Virtual-8086 Mode Excep

Strona 264

3-290 Vol. 2A FADD/FADDP/FIADD—AddINSTRUCTION SET REFERENCE, A-MFADD/FADDP/FIADD—AddDescriptionAdds the destination and source operands and stores the

Strona 265 - Doubleword Integer

Vol. 2A 3-291INSTRUCTION SET REFERENCE, A-MFADD/FADDP/FIADD—AddThe table on the following page shows the results obtained when adding various classes

Strona 266

3-292 Vol. 2A FADD/FADDP/FIADD—AddINSTRUCTION SET REFERENCE, A-MFPU Flags AffectedC1 Set to 0 if stack underflow occurred.Set if result was rounded up

Strona 267

Vol. 2A 3-293INSTRUCTION SET REFERENCE, A-MFADD/FADDP/FIADD—Add#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.#PF(fault-code) If a page fault occurs.#AC(0) If

Strona 268

2-4 Vol. 2AINSTRUCTION FORMAT2.1.3 ModR/M and SIB BytesMany instructions that refer to an operand in memory have an addressing-form spec-ifier byte (

Strona 269

3-294 Vol. 2A FBLD—Load Binary Coded DecimalINSTRUCTION SET REFERENCE, A-MFBLD—Load Binary Coded DecimalDescriptionConverts the BCD source operand int

Strona 270

Vol. 2A 3-295INSTRUCTION SET REFERENCE, A-MFBLD—Load Binary Coded DecimalReal-Address Mode Exceptions#GP If a memory operand effective address is outs

Strona 271 - Floating-Point Value

3-296 Vol. 2A FBSTP—Store BCD Integer and PopINSTRUCTION SET REFERENCE, A-MFBSTP—Store BCD Integer and PopDescriptionConverts the value in the ST(0) r

Strona 272

Vol. 2A 3-297INSTRUCTION SET REFERENCE, A-MFBSTP—Store BCD Integer and Popnation operand. If the invalid-operation exception is masked, the packed BCD

Strona 273

3-298 Vol. 2A FBSTP—Store BCD Integer and PopINSTRUCTION SET REFERENCE, A-M#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.#UD If the LOCK prefix is used.Virt

Strona 274

Vol. 2A 3-299INSTRUCTION SET REFERENCE, A-MFCHS—Change SignFCHS—Change SignDescriptionComplements the sign bit of ST(0). This operation changes a posi

Strona 275

3-300 Vol. 2A FCHS—Change SignINSTRUCTION SET REFERENCE, A-MReal-Address Mode ExceptionsSame exceptions as in protected mode.Virtual-8086 Mode Excepti

Strona 276

Vol. 2A 3-301INSTRUCTION SET REFERENCE, A-MFCLEX/FNCLEX—Clear ExceptionsFCLEX/FNCLEX—Clear ExceptionsDescriptionClears the floating-point exception fl

Strona 277

3-302 Vol. 2A FCLEX/FNCLEX—Clear ExceptionsINSTRUCTION SET REFERENCE, A-MFPU Flags AffectedThe PE, UE, OE, ZE, DE, IE, ES, SF, and B flags in the FPU

Strona 278

Vol. 2A 3-303INSTRUCTION SET REFERENCE, A-MFCMOVcc—Floating-Point Conditional MoveFCMOVcc—Floating-Point Conditional MoveDescriptionTests the status f

Strona 279 - Vol. 2A 3-233

Vol. 2A 2-5INSTRUCTION FORMATlocation; the last eight (Mod = 11B) provide ways of specifying general-purpose, MMX technology and XMM registers. The Mo

Strona 280

3-304 Vol. 2A FCMOVcc—Floating-Point Conditional MoveINSTRUCTION SET REFERENCE, A-MOperationIF condition TRUETHEN ST(0) ← ST(i);FI;FPU Flags AffectedC

Strona 281

Vol. 2A 3-305INSTRUCTION SET REFERENCE, A-MFCMOVcc—Floating-Point Conditional MoveFCOM/FCOMP/FCOMPP—Compare Floating Point ValuesDescriptionCompares t

Strona 282

3-306 Vol. 2A FCMOVcc—Floating-Point Conditional MoveINSTRUCTION SET REFERENCE, A-MThe FCOMP instruction pops the register stack following the compari

Strona 283

Vol. 2A 3-307INSTRUCTION SET REFERENCE, A-MFCMOVcc—Floating-Point Conditional MoveFloating-Point Exceptions#IS Stack underflow occurred.#IA One or bot

Strona 284

3-308 Vol. 2A FCMOVcc—Floating-Point Conditional MoveINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.6

Strona 285

Vol. 2A 3-309INSTRUCTION SET REFERENCE, A-MFCOMI/FCOMIP/ FUCOMI/FUCOMIP—Compare Floating Point Values and Set EFLAGSFCOMI/FCOMIP/ FUCOMI/FUCOMIP—Compa

Strona 286

3-310 Vol. 2A FCOMI/FCOMIP/ FUCOMI/FUCOMIP—Compare Floating Point Values and Set EFLAGSINSTRUCTION SET REFERENCE, A-MIf the operation results in an in

Strona 287

Vol. 2A 3-311INSTRUCTION SET REFERENCE, A-MFCOMI/FCOMIP/ FUCOMI/FUCOMIP—Compare Floating Point Values and Set EFLAGSZF, PF, CF ← 111;FI;FI;FI;IF Instr

Strona 288

3-312 Vol. 2A FCOS—CosineINSTRUCTION SET REFERENCE, A-MFCOS—CosineDescriptionComputes the cosine of the source operand in register ST(0) and stores th

Strona 289

Vol. 2A 3-313INSTRUCTION SET REFERENCE, A-MFCOS—CosineST(0) ← cosine(ST(0));ELSE (* Source operand is out-of-range *)C2 ← 1;FI;FPU Flags AffectedC1 Se

Strona 290

2-6 Vol. 2AINSTRUCTION FORMATNOTES:1. The default segment register is SS for the effective addresses containing a BP index, DS for othereffective addr

Strona 291 - Vol. 2A 3-245

3-314 Vol. 2A FDECSTP—Decrement Stack-Top PointerINSTRUCTION SET REFERENCE, A-MFDECSTP—Decrement Stack-Top PointerDescriptionSubtracts one from the TO

Strona 292

Vol. 2A 3-315INSTRUCTION SET REFERENCE, A-MFDECSTP—Decrement Stack-Top PointerCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit

Strona 293

3-316 Vol. 2A FDIV/FDIVP/FIDIV—DivideINSTRUCTION SET REFERENCE, A-MFDIV/FDIVP/FIDIV—DivideDescriptionDivides the destination operand by the source ope

Strona 294

Vol. 2A 3-317INSTRUCTION SET REFERENCE, A-MFDIV/FDIVP/FIDIV—DivideIf an unmasked divide-by-zero exception (#Z) is generated, no result is stored; if t

Strona 295

3-318 Vol. 2A FDIV/FDIVP/FIDIV—DivideINSTRUCTION SET REFERENCE, A-MIF Instruction = FDIVP THEN PopRegisterStack;FI;FPU Flags AffectedC1 Set to 0 if st

Strona 296

Vol. 2A 3-319INSTRUCTION SET REFERENCE, A-MFDIV/FDIVP/FIDIV—DivideVirtual-8086 Mode Exceptions#GP(0) If a memory operand effective address is outside

Strona 297

3-320 Vol. 2A FDIVR/FDIVRP/FIDIVR—Reverse DivideINSTRUCTION SET REFERENCE, A-MFDIVR/FDIVRP/FIDIVR—Reverse DivideDescriptionDivides the source operand

Strona 298

Vol. 2A 3-321INSTRUCTION SET REFERENCE, A-MFDIVR/FDIVRP/FIDIVR—Reverse DivideThe FIDIVR instructions convert an integer source operand to double exten

Strona 299

3-322 Vol. 2A FDIVR/FDIVRP/FIDIVR—Reverse DivideINSTRUCTION SET REFERENCE, A-MDEST ← SRC / DEST;FI;FI;IF Instruction = FDIVRP THEN PopRegisterStack;F

Strona 300

Vol. 2A 3-323INSTRUCTION SET REFERENCE, A-MFDIVR/FDIVRP/FIDIVR—Reverse Divide#SS If a memory operand effective address is outside the SS segment limit

Strona 301 - Quadword

Vol. 2A 2-7INSTRUCTION FORMATNOTES:1. The [--][--] nomenclature means a SIB follows the ModR/M byte.2. The disp32 nomenclature denotes a 32-bit displa

Strona 302

3-324 Vol. 2A FFREE—Free Floating-Point RegisterINSTRUCTION SET REFERENCE, A-MFFREE—Free Floating-Point RegisterDescriptionSets the tag in the FPU tag

Strona 303 - > 9) or AF = 1)

Vol. 2A 3-325INSTRUCTION SET REFERENCE, A-MFICOM/FICOMP—Compare IntegerFICOM/FICOMP—Compare IntegerDescriptionCompares the value in ST(0) with an inte

Strona 304

3-326 Vol. 2A FICOM/FICOMP—Compare IntegerINSTRUCTION SET REFERENCE, A-MESAC;IF Instruction = FICOMP THEN PopRegisterStack; FI;FPU Flags AffectedC1 Se

Strona 305 - Vol. 2A 3-259

Vol. 2A 3-327INSTRUCTION SET REFERENCE, A-MFICOM/FICOMP—Compare Integer#SS(0) If a memory operand effective address is outside the SS segment limit.#N

Strona 306

3-328 Vol. 2A FILD—Load IntegerINSTRUCTION SET REFERENCE, A-MFILD—Load IntegerDescriptionConverts the signed-integer source operand into double extend

Strona 307 - DEC—Decrement by 1

Vol. 2A 3-329INSTRUCTION SET REFERENCE, A-MFILD—Load Integer#UD If the LOCK prefix is used.Real-Address Mode Exceptions#GP If a memory operand effect

Strona 308

3-330 Vol. 2A FINCSTP—Increment Stack-Top PointerINSTRUCTION SET REFERENCE, A-MFINCSTP—Increment Stack-Top PointerDescriptionAdds one to the TOP field

Strona 309 - Vol. 2A 3-263

Vol. 2A 3-331INSTRUCTION SET REFERENCE, A-MFINCSTP—Increment Stack-Top PointerCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit

Strona 310 - DIV—Unsigned Divide

3-332 Vol. 2A FINIT/FNINIT—Initialize Floating-Point UnitINSTRUCTION SET REFERENCE, A-MFINIT/FNINIT—Initialize Floating-Point UnitDescriptionSets the

Strona 311 - Table 3-20. DIV Action

Vol. 2A 3-333INSTRUCTION SET REFERENCE, A-MFINIT/FNINIT—Initialize Floating-Point UnitOperationFPUControlWord ← 037FH;FPUStatusWord ← 0;FPUTagWord ← F

Strona 312

2-8 Vol. 2AINSTRUCTION FORMATof the table indicate the register used as the index (SIB byte bits 3, 4 and 5) and the scaling factor (determined by SIB

Strona 313

3-334 Vol. 2A FIST/FISTP—Store IntegerINSTRUCTION SET REFERENCE, A-MFIST/FISTP—Store IntegerDescriptionThe FIST instruction converts the value in the

Strona 314

Vol. 2A 3-335INSTRUCTION SET REFERENCE, A-MFIST/FISTP—Store IntegerIf the source value is a non-integral value, it is rounded to an integer value, acc

Strona 315

3-336 Vol. 2A FIST/FISTP—Store IntegerINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If the destination is located in a non-writable se

Strona 316

Vol. 2A 3-337INSTRUCTION SET REFERENCE, A-MFIST/FISTP—Store Integer#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.#MF If there is a pending x87 FPU exception

Strona 317 - Vol. 2A 3-271

3-338 Vol. 2A FISTTP—Store Integer with TruncationINSTRUCTION SET REFERENCE, A-MFISTTP—Store Integer with TruncationDescriptionFISTTP converts the val

Strona 318

Vol. 2A 3-339INSTRUCTION SET REFERENCE, A-MFISTTP—Store Integer with TruncationNumeric ExceptionsInvalid, Stack Invalid (stack underflow), Precision.P

Strona 319 - Vol. 2A 3-273

3-340 Vol. 2A FISTTP—Store Integer with TruncationINSTRUCTION SET REFERENCE, A-M64-Bit Mode Exceptions#SS(0) If a memory address referencing the SS se

Strona 320

Vol. 2A 3-341INSTRUCTION SET REFERENCE, A-MFLD—Load Floating Point ValueFLD—Load Floating Point ValueDescriptionPushes the source operand onto the FPU

Strona 321

3-342 Vol. 2A FLD—Load Floating Point ValueINSTRUCTION SET REFERENCE, A-M#IA Source operand is an SNaN. Does not occur if the source operand is in dou

Strona 322

Vol. 2A 3-343INSTRUCTION SET REFERENCE, A-MFLD—Load Floating Point ValueCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode

Strona 323

Vol. 2A 2-9INSTRUCTION FORMAT2.2 IA-32E MODEIA-32e mode has two sub-modes. These are: • Compatibility Mode. Enables a 64-bit operating system to run m

Strona 324

3-344 Vol. 2A FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ—Load ConstantINSTRUCTION SET REFERENCE, A-MFLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ—Load

Strona 325 - Vol. 2A 3-279

Vol. 2A 3-345INSTRUCTION SET REFERENCE, A-MFLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ—Load ConstantFloating-Point Exceptions#IS Stack overflow occurr

Strona 326

3-346 Vol. 2A FLDCW—Load x87 FPU Control WordINSTRUCTION SET REFERENCE, A-MFLDCW—Load x87 FPU Control WordDescriptionLoads the 16-bit source operand i

Strona 327

Vol. 2A 3-347INSTRUCTION SET REFERENCE, A-MFLDCW—Load x87 FPU Control Word#AC(0) If alignment checking is enabled and an unaligned memory reference is

Strona 328

3-348 Vol. 2A FLDENV—Load x87 FPU EnvironmentINSTRUCTION SET REFERENCE, A-MFLDENV—Load x87 FPU EnvironmentDescriptionLoads the complete x87 FPU operat

Strona 329 - 1 to (NestingLevel - 1)

Vol. 2A 3-349INSTRUCTION SET REFERENCE, A-MFLDENV—Load x87 FPU EnvironmentFPU Flags AffectedThe C0, C1, C2, C3 flags are loaded.Floating-Point Excepti

Strona 330

3-350 Vol. 2A FLDENV—Load x87 FPU EnvironmentINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mo

Strona 331

Vol. 2A 3-351INSTRUCTION SET REFERENCE, A-MFMUL/FMULP/FIMUL—MultiplyFMUL/FMULP/FIMUL—MultiplyDescriptionMultiplies the destination and source operands

Strona 332 - F2XM1—Compute 2

3-352 Vol. 2A FMUL/FMULP/FIMUL—MultiplyINSTRUCTION SET REFERENCE, A-MThe FIMUL instructions convert an integer source operand to double extended-preci

Strona 333

Vol. 2A 3-353INSTRUCTION SET REFERENCE, A-MFMUL/FMULP/FIMUL—MultiplyFPU Flags AffectedC1 Set to 0 if stack underflow occurred.Set if result was rounde

Strona 334 - FABS—Absolute Value

CONTENTSivVol. 2APAGE3.1.1.5 Description Column in the Instruction Summary Table. . . . . . . . . . . . . . . . . . . . . . . . . . 3-73.1.1.6 Descri

Strona 335

2-10 Vol. 2AINSTRUCTION FORMAT2.2.1.1 EncodingIntel 64 and IA-32 instruction formats specify up to three registers by using 3-bit fields in the enco

Strona 336 - FADD/FADDP/FIADD—Add

3-354 Vol. 2A FMUL/FMULP/FIMUL—MultiplyINSTRUCTION SET REFERENCE, A-M#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.#PF(fault-code) If a page fault occurs.#AC

Strona 337 - = FADDP

Vol. 2A 3-355INSTRUCTION SET REFERENCE, A-MFNOP—No OperationFNOP—No OperationDescriptionPerforms no FPU operation. This instruction takes up space in

Strona 338 - Floating-Point Exceptions

3-356 Vol. 2A FPATAN—Partial ArctangentINSTRUCTION SET REFERENCE, A-MFPATAN—Partial ArctangentDescriptionComputes the arctangent of the source operand

Strona 339

Vol. 2A 3-357INSTRUCTION SET REFERENCE, A-MFPATAN—Partial ArctangentThere is no restriction on the range of source operands that FPATAN can accept.Thi

Strona 340

3-358 Vol. 2A FPATAN—Partial ArctangentINSTRUCTION SET REFERENCE, A-MFloating-Point Exceptions#IS Stack underflow occurred.#IA Source operand is an SN

Strona 341

Vol. 2A 3-359INSTRUCTION SET REFERENCE, A-MFPREM—Partial RemainderFPREM—Partial RemainderDescriptionComputes the remainder obtained from dividing the

Strona 342 - Table 3-24. FBSTP Results

3-360 Vol. 2A FPREM—Partial RemainderINSTRUCTION SET REFERENCE, A-MThe FPREM instruction does not compute the remainder specified in IEEE Std 754. The

Strona 343

Vol. 2A 3-361INSTRUCTION SET REFERENCE, A-MFPREM—Partial RemainderFPU Flags AffectedC0 Set to bit 2 (Q2) of the quotient.C1 Set to 0 if stack underflo

Strona 344

3-362 Vol. 2A FPREM1—Partial RemainderINSTRUCTION SET REFERENCE, A-MFPREM1—Partial RemainderDescriptionComputes the IEEE remainder obtained from divid

Strona 345 - FCHS—Change Sign

Vol. 2A 3-363INSTRUCTION SET REFERENCE, A-MFPREM1—Partial RemainderThe FPREM1 instruction computes the remainder specified in IEEE Standard 754. This

Strona 346

Vol. 2A 2-11INSTRUCTION FORMATTable 2-4. REX Prefix Fields [BITS: 0100WRXB]Field Name Bit Position Definition- 7:4 0100W 3 0 = Operand size determine

Strona 347 - FCLEX/FNCLEX—Clear Exceptions

3-364 Vol. 2A FPREM1—Partial RemainderINSTRUCTION SET REFERENCE, A-MC2 Set to 0 if reduction complete; set to 1 if incomplete.C3 Set to bit 1 (Q1) of

Strona 348

Vol. 2A 3-365INSTRUCTION SET REFERENCE, A-MFPTAN—Partial TangentFPTAN—Partial TangentDescriptionComputes the tangent of the source operand in register

Strona 349

3-366 Vol. 2A FPTAN—Partial TangentINSTRUCTION SET REFERENCE, A-MThis instruction’s operation is the same in non-64-bit modes and 64-bit mode.Operatio

Strona 350

Vol. 2A 3-367INSTRUCTION SET REFERENCE, A-MFPTAN—Partial TangentCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode Exceptio

Strona 351

3-368 Vol. 2A FRNDINT—Round to IntegerINSTRUCTION SET REFERENCE, A-MFRNDINT—Round to IntegerDescriptionRounds the source value in the ST(0) register t

Strona 352

Vol. 2A 3-369INSTRUCTION SET REFERENCE, A-MFRNDINT—Round to IntegerCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode Excep

Strona 353

3-370 Vol. 2A FRSTOR—Restore x87 FPU StateINSTRUCTION SET REFERENCE, A-MFRSTOR—Restore x87 FPU StateDescriptionLoads the FPU state (operating environm

Strona 354

Vol. 2A 3-371INSTRUCTION SET REFERENCE, A-MFRSTOR—Restore x87 FPU StateST(7) ← SRC[ST(7)];FPU Flags AffectedThe C0, C1, C2, C3 flags are loaded.Floati

Strona 355 - Set EFLAGS

3-372 Vol. 2A FRSTOR—Restore x87 FPU StateINSTRUCTION SET REFERENCE, A-M#AC(0) If alignment checking is enabled and an unaligned memory reference is m

Strona 356

Vol. 2A 3-373INSTRUCTION SET REFERENCE, A-MFSAVE/FNSAVE—Store x87 FPU StateFSAVE/FNSAVE—Store x87 FPU StateDescriptionStores the current FPU state (op

Strona 357 - Vol. 2A 3-311

2-12 Vol. 2AINSTRUCTION FORMATIn the IA-32 architecture, byte registers (AH, AL, BH, BL, CH, CL, DH, and DL) are encoded in the ModR/M byte’s reg fiel

Strona 358 - FCOS—Cosine

3-374 Vol. 2A FSAVE/FNSAVE—Store x87 FPU StateINSTRUCTION SET REFERENCE, A-Minstructions separately. If an exception is generated for either of these

Strona 359 - Vol. 2A 3-313

Vol. 2A 3-375INSTRUCTION SET REFERENCE, A-MFSAVE/FNSAVE—Store x87 FPU StateFPU Flags AffectedThe C0, C1, C2, and C3 flags are saved and then cleared.F

Strona 360

3-376 Vol. 2A FSAVE/FNSAVE—Store x87 FPU StateINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit M

Strona 361

Vol. 2A 3-377INSTRUCTION SET REFERENCE, A-MFSCALE—ScaleFSCALE—ScaleDescriptionTruncates the value in the source operand (toward 0) to an integral valu

Strona 362 - FDIV/FDIVP/FIDIV—Divide

3-378 Vol. 2A FSCALE—ScaleINSTRUCTION SET REFERENCE, A-Mbefore the FXTRACT operation was performed. The FSTP ST(1) instruction overwrites the exponent

Strona 363 - Vol. 2A 3-317

Vol. 2A 3-379INSTRUCTION SET REFERENCE, A-MFSIN—SineFSIN—SineDescriptionComputes the sine of the source operand in register ST(0) and stores the resul

Strona 364 - = FDIVP

3-380 Vol. 2A FSIN—SineINSTRUCTION SET REFERENCE, A-MST(0) ← sin(ST(0));ELSE (* Source operand out of range *)C2 ← 1;FI;FPU Flags AffectedC1 Set to 0

Strona 365

Vol. 2A 3-381INSTRUCTION SET REFERENCE, A-MFSINCOS—Sine and CosineFSINCOS—Sine and CosineDescriptionComputes both the sine and the cosine of the sourc

Strona 366

3-382 Vol. 2A FSINCOS—Sine and CosineINSTRUCTION SET REFERENCE, A-MOperationIF ST(0) < 263THENC2 ← 0;TEMP ← cosine(ST(0));ST(0) ← sine(ST(0));TOP ←

Strona 367 - = FIDIVR

Vol. 2A 3-383INSTRUCTION SET REFERENCE, A-MFSINCOS—Sine and CosineCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode Except

Strona 368 - = FDIVRP

Vol. 2A 2-13INSTRUCTION FORMAT2.2.1.3 Displacement Addressing in 64-bit mode uses existing 32-bit ModR/M and SIB encodings. The ModR/M and SIB displ

Strona 369

3-384 Vol. 2A FSQRT—Square RootINSTRUCTION SET REFERENCE, A-MFSQRT—Square RootDescriptionComputes the square root of the source value in the ST(0) reg

Strona 370

Vol. 2A 3-385INSTRUCTION SET REFERENCE, A-MFSQRT—Square RootSource operand is a negative value (except for −0).#D Source operand is a denormal value.#

Strona 371 - FICOM/FICOMP—Compare Integer

3-386 Vol. 2A FST/FSTP—Store Floating Point ValueINSTRUCTION SET REFERENCE, A-MFST/FSTP—Store Floating Point ValueDescriptionThe FST instruction copie

Strona 372 - = FICOMP

Vol. 2A 3-387INSTRUCTION SET REFERENCE, A-MFST/FSTP—Store Floating Point ValueIf the destination operand is a non-empty register, the invalid-operatio

Strona 373

3-388 Vol. 2A FST/FSTP—Store Floating Point ValueINSTRUCTION SET REFERENCE, A-MReal-Address Mode Exceptions#GP If a memory operand effective address i

Strona 374 - FILD—Load Integer

Vol. 2A 3-389INSTRUCTION SET REFERENCE, A-MFSTCW/FNSTCW—Store x87 FPU Control WordFSTCW/FNSTCW—Store x87 FPU Control WordDescriptionStores the current

Strona 375

3-390 Vol. 2A FSTCW/FNSTCW—Store x87 FPU Control WordINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If the destination is located in a

Strona 376

Vol. 2A 3-391INSTRUCTION SET REFERENCE, A-MFSTCW/FNSTCW—Store x87 FPU Control Word#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.#MF If there is a pending x8

Strona 377

3-392 Vol. 2A FSTENV/FNSTENV—Store x87 FPU EnvironmentINSTRUCTION SET REFERENCE, A-MFSTENV/FNSTENV—Store x87 FPU EnvironmentDescriptionSaves the curre

Strona 378

Vol. 2A 3-393INSTRUCTION SET REFERENCE, A-MFSTENV/FNSTENV—Store x87 FPU EnvironmentIA-32 Architecture CompatibilityWhen operating a Pentium or Intel48

Strona 379 - Vol. 2A 3-333

2-14 Vol. 2AINSTRUCTION FORMATsize of the memory offset follows the address-size default (64 bits in 64-bit mode). See Table 2-6.2.2.1.5 Immediates

Strona 380 - FIST/FISTP—Store Integer

3-394 Vol. 2A FSTENV/FNSTENV—Store x87 FPU EnvironmentINSTRUCTION SET REFERENCE, A-M#SS If a memory operand effective address is outside the SS segmen

Strona 381 - ← not roundup; 1 ← roundup

Vol. 2A 3-395INSTRUCTION SET REFERENCE, A-MFSTSW/FNSTSW—Store x87 FPU Status WordFSTSW/FNSTSW—Store x87 FPU Status WordDescriptionStores the current v

Strona 382

3-396 Vol. 2A FSTSW/FNSTSW—Store x87 FPU Status WordINSTRUCTION SET REFERENCE, A-MIA-32 Architecture CompatibilityWhen operating a Pentium or Intel486

Strona 383 - Vol. 2A 3-337

Vol. 2A 3-397INSTRUCTION SET REFERENCE, A-MFSTSW/FNSTSW—Store x87 FPU Status WordVirtual-8086 Mode Exceptions#GP(0) If a memory operand effective addr

Strona 384

3-398 Vol. 2A FSUB/FSUBP/FISUB—SubtractINSTRUCTION SET REFERENCE, A-MFSUB/FSUBP/FISUB—SubtractDescriptionSubtracts the source operand from the destina

Strona 385 - Virtual 8086 Mode Exceptions

Vol. 2A 3-399INSTRUCTION SET REFERENCE, A-MFSUB/FSUBP/FISUB—SubtractThe FISUB instructions convert an integer source operand to double extended-preci-

Strona 386

3-400 Vol. 2A FSUB/FSUBP/FISUB—SubtractINSTRUCTION SET REFERENCE, A-MIF Instruction = FSUBP THEN PopRegisterStack;FI;FPU Flags AffectedC1 Set to 0 if

Strona 387 - FLD—Load Floating Point Value

Vol. 2A 3-401INSTRUCTION SET REFERENCE, A-MFSUB/FSUBP/FISUB—SubtractVirtual-8086 Mode Exceptions#GP(0) If a memory operand effective address is outsid

Strona 388

3-402 Vol. 2A FSUBR/FSUBRP/FISUBR—Reverse SubtractINSTRUCTION SET REFERENCE, A-MFSUBR/FSUBRP/FISUBR—Reverse SubtractDescriptionSubtracts the destinati

Strona 389

Vol. 2A 3-403INSTRUCTION SET REFERENCE, A-MFSUBR/FSUBRP/FISUBR—Reverse Subtractthe register stack being popped. In some assemblers, the mnemonic for t

Strona 390

Vol. 2A 2-15INSTRUCTION FORMATThe ModR/M encoding for RIP-relative addressing does not depend on using prefix. Specifically, the r/m bit field encodin

Strona 391 - Vol. 2A 3-345

3-404 Vol. 2A FSUBR/FSUBRP/FISUBR—Reverse SubtractINSTRUCTION SET REFERENCE, A-MIF Instruction = FSUBRP THEN PopRegisterStack; FI;FPU Flags AffectedC1

Strona 392

Vol. 2A 3-405INSTRUCTION SET REFERENCE, A-MFSUBR/FSUBRP/FISUBR—Reverse SubtractVirtual-8086 Mode Exceptions#GP(0) If a memory operand effective addres

Strona 393

3-406 Vol. 2A FTST—TESTINSTRUCTION SET REFERENCE, A-MFTST—TESTDescriptionCompares the value in the ST(0) register with 0.0 and sets the condition code

Strona 394

Vol. 2A 3-407INSTRUCTION SET REFERENCE, A-MFTST—TEST#IA The source operand is a NaN value or is in an unsupported format.#D The source operand is a de

Strona 395

3-408 Vol. 2A FUCOM/FUCOMP/FUCOMPP—Unordered Compare Floating Point ValuesINSTRUCTION SET REFERENCE, A-MFUCOM/FUCOMP/FUCOMPP—Unordered Compare Floatin

Strona 396

Vol. 2A 3-409INSTRUCTION SET REFERENCE, A-MFUCOM/FUCOMP/FUCOMPP—Unordered Compare Floating Point ValuesThe FUCOMP instruction pops the register stack

Strona 397 - FMUL/FMULP/FIMUL—Multiply

3-410 Vol. 2A FUCOM/FUCOMP/FUCOMPP—Unordered Compare Floating Point ValuesINSTRUCTION SET REFERENCE, A-M#IA One or both operands are SNaN values or ha

Strona 398 - = FMULP

Vol. 2A 3-411INSTRUCTION SET REFERENCE, A-MFXAM—ExamineModR/MFXAM—ExamineModR/MDescriptionExamines the contents of the ST(0) register and sets the con

Strona 399

3-412 Vol. 2A FXAM—ExamineModR/MINSTRUCTION SET REFERENCE, A-MFPU Flags AffectedC1 Sign of value in ST(0).C0, C2, C3 See Table 3-47.Floating-Point Exc

Strona 400

Vol. 2A 3-413INSTRUCTION SET REFERENCE, A-MFXCH—Exchange Register ContentsFXCH—Exchange Register ContentsDescriptionExchanges the contents of register

Strona 401 - FNOP—No Operation

2-16 Vol. 2AINSTRUCTION FORMAT

Strona 402 - FPATAN—Partial Arctangent

3-414 Vol. 2A FXCH—Exchange Register ContentsINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1.#MF If the

Strona 403 - Vol. 2A 3-357

Vol. 2A 3-415INSTRUCTION SET REFERENCE, A-MFXRSTOR—Restore x87 FPU, MMX , XMM, and MXCSR StateFXRSTOR—Restore x87 FPU, MMX , XMM, and MXCSR StateDescr

Strona 404

3-416 Vol. 2A FXRSTOR—Restore x87 FPU, MMX , XMM, and MXCSR StateINSTRUCTION SET REFERENCE, A-Mx87 FPU and SIMD Floating-Point ExceptionsNone.Protecte

Strona 405 - FPREM—Partial Remainder

Vol. 2A 3-417INSTRUCTION SET REFERENCE, A-MFXRSTOR—Restore x87 FPU, MMX , XMM, and MXCSR StateVirtual-8086 Mode ExceptionsSame exceptions as in real a

Strona 406

3-418 Vol. 2A FXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateINSTRUCTION SET REFERENCE, A-MFXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2

Strona 407 - Vol. 2A 3-361

Vol. 2A 3-419INSTRUCTION SET REFERENCE, A-MFXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateThe destination operand contains the first byte of

Strona 408 - FPREM1—Partial Remainder

3-420 Vol. 2A FXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateINSTRUCTION SET REFERENCE, A-MTable 3-49. Field Definitions Field DefinitionFCW

Strona 409

Vol. 2A 3-421INSTRUCTION SET REFERENCE, A-MFXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateThe FXSAVE instruction saves an abridged version of

Strona 410

3-422 Vol. 2A FXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateINSTRUCTION SET REFERENCE, A-MHere, a 1 is saved for any valid, zero, or special

Strona 411 - FPTAN—Partial Tangent

Vol. 2A 3-423INSTRUCTION SET REFERENCE, A-MFXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateThe J-bit is defined to be the 1-bit binary integer

Strona 412

Vol. 2A 3-1CHAPTER 3INSTRUCTION SET REFERENCE, A-MThis chapter describes the instruction set for the Intel 64 and IA-32 architectures (A-M) in IA-32e,

Strona 413

3-424 Vol. 2A FXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateINSTRUCTION SET REFERENCE, A-MXMM2 192XMM3 208XMM4 224XMM5 240XMM6 256XMM7 272XM

Strona 414 - FRNDINT—Round to Integer

Vol. 2A 3-425INSTRUCTION SET REFERENCE, A-MFXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateOperationIF 64-Bit ModeTHENIF REX.W = 1Reserved ST4

Strona 415

3-426 Vol. 2A FXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateINSTRUCTION SET REFERENCE, A-MTHENDEST ← Save64BitPromotedFxsave(x87 FPU, MMX, X

Strona 416 - FRSTOR—Restore x87 FPU State

Vol. 2A 3-427INSTRUCTION SET REFERENCE, A-MFXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 State#UD If CR0.EM[bit 2] = 1.If CPUID.01H:EDX.FXSR[bit

Strona 417

3-428 Vol. 2A FXSAVE—Save x87 FPU, MMX Technology, SSE, and SSE2 StateINSTRUCTION SET REFERENCE, A-MImplementation NoteThe order in which the processo

Strona 418

Vol. 2A 3-429INSTRUCTION SET REFERENCE, A-MFXTRACT—Extract Exponent and SignificandFXTRACT—Extract Exponent and SignificandDescriptionSeparates the so

Strona 419

3-430 Vol. 2A FXTRACT—Extract Exponent and SignificandINSTRUCTION SET REFERENCE, A-M#IA Source operand is an SNaN value or unsupported format.#Z ST(0)

Strona 420

Vol. 2A 3-431INSTRUCTION SET REFERENCE, A-MFYL2X—Compute y * log2xFYL2X—Compute y ∗ log2xDescriptionComputes (ST(1) ∗ log2 (ST(0))), stores the result

Strona 421

3-432 Vol. 2A FYL2X—Compute y * log2xINSTRUCTION SET REFERENCE, A-MOperationST(1) ← ST(1) ∗ log2ST(0);PopRegisterStack;FPU Flags AffectedC1 Set to 0 i

Strona 422

Vol. 2A 3-433INSTRUCTION SET REFERENCE, A-MFYL2XP1—Compute y * log2(x +1)FYL2XP1—Compute y ∗ log2(x +1)DescriptionComputes (ST(1) ∗ log2(ST(0) + 1.0))

Strona 423 - FSCALE—Scale

3-2 Vol. 2AINSTRUCTION SET REFERENCE, A-M3.1.1.1 Opcode Column in the Instruction Summary TableThe “Opcode” column in the table above shows the obje

Strona 424 - 3-378 Vol. 2A FSCALE—Scale

3-434 Vol. 2A FYL2XP1—Compute y * log2(x +1)INSTRUCTION SET REFERENCE, A-Mequation is used to calculate the scale factor for a particular logarithm ba

Strona 425 - FSIN—Sine

Vol. 2A 3-435INSTRUCTION SET REFERENCE, A-MHADDPD—Packed Double-FP Horizontal AddHADDPD—Packed Double-FP Horizontal AddDescriptionAdds the double-prec

Strona 426 - 3-380 Vol. 2A FSIN—Sine

3-436 Vol. 2A HADDPD—Packed Double-FP Horizontal AddINSTRUCTION SET REFERENCE, A-MOperationxmm1[63:0] = xmm1[63:0] + xmm1[127:64];xmm1[127:64] = xmm2/

Strona 427 - FSINCOS—Sine and Cosine

Vol. 2A 3-437INSTRUCTION SET REFERENCE, A-MHADDPD—Packed Double-FP Horizontal Add#UD If CR0.EM[bit 2] = 1.For an unmasked Streaming SIMD Extensions nu

Strona 428

3-438 Vol. 2A HADDPD—Packed Double-FP Horizontal AddINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point exception and CR4.OSXM-MEXCP

Strona 429

Vol. 2A 3-439INSTRUCTION SET REFERENCE, A-MHADDPS—Packed Single-FP Horizontal AddHADDPS—Packed Single-FP Horizontal AddDescriptionAdds the single-prec

Strona 430 - FSQRT—Square Root

3-440 Vol. 2A HADDPS—Packed Single-FP Horizontal AddINSTRUCTION SET REFERENCE, A-MIn 64-bit mode, use of the REX.R prefix permits this instruction to

Strona 431

Vol. 2A 3-441INSTRUCTION SET REFERENCE, A-MHADDPS—Packed Single-FP Horizontal AddReal Address Mode ExceptionsGP(0) If any part of the operand would l

Strona 432

3-442 Vol. 2A HADDPS—Packed Single-FP Horizontal AddINSTRUCTION SET REFERENCE, A-M#PF(fault-code) For a page fault.#NM If CR0.TS[bit 3] = 1. #XM If

Strona 433

Vol. 2A 3-443INSTRUCTION SET REFERENCE, A-MHLT—HaltHLT—HaltDescriptionStops instruction execution and places the processor in a HALT state. An enabled

Strona 434

Vol. 2A 3-3INSTRUCTION SET REFERENCE, A-M3.1.1.2 Instruction Column in the Opcode Summary TableThe “Instruction” column gives the syntax of the inst

Strona 435

3-444 Vol. 2A HLT—HaltINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode ExceptionsSame excep

Strona 436

Vol. 2A 3-445INSTRUCTION SET REFERENCE, A-MHSUBPD—Packed Double-FP Horizontal SubtractHSUBPD—Packed Double-FP Horizontal SubtractDescriptionThe HSUBPD

Strona 437 - Vol. 2A 3-391

3-446 Vol. 2A HSUBPD—Packed Double-FP Horizontal SubtractINSTRUCTION SET REFERENCE, A-MOperationxmm1[63:0] = xmm1[63:0] − xmm1[127:64];xmm1[127:64] =

Strona 438

Vol. 2A 3-447INSTRUCTION SET REFERENCE, A-MHSUBPD—Packed Double-FP Horizontal Subtract#UD If CR0.EM[bit 2] = 1.For an unmasked Streaming SIMD Extensi

Strona 439 - Vol. 2A 3-393

3-448 Vol. 2A HSUBPD—Packed Double-FP Horizontal SubtractINSTRUCTION SET REFERENCE, A-MIf CPUID feature flag SSE3 is 0.If the LOCK prefix is used.

Strona 440

Vol. 2A 3-449INSTRUCTION SET REFERENCE, A-MHSUBPS—Packed Single-FP Horizontal SubtractHSUBPS—Packed Single-FP Horizontal SubtractDescriptionSubtracts

Strona 441

3-450 Vol. 2A HSUBPS—Packed Single-FP Horizontal SubtractINSTRUCTION SET REFERENCE, A-MIn 64-bit mode, use of the REX.R prefix permits this instructio

Strona 442

Vol. 2A 3-451INSTRUCTION SET REFERENCE, A-MHSUBPS—Packed Single-FP Horizontal SubtractNumeric ExceptionsOverflow, Underflow, Invalid, Precision, Denor

Strona 443

3-452 Vol. 2A HSUBPS—Packed Single-FP Horizontal SubtractINSTRUCTION SET REFERENCE, A-M#NM If CR0.TS[bit 3] = 1.#XM For an unmasked Streaming SIMD E

Strona 444 - FSUB/FSUBP/FISUB—Subtract

Vol. 2A 3-453INSTRUCTION SET REFERENCE, A-MIDIV—Signed DivideIDIV—Signed DivideDescriptionDivides the (signed) value in the AX, DX:AX, or EDX:EAX (div

Strona 445 - = result)

Vol. 2A vCONTENTSPAGECLFLUSH—Flush Cache Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-

Strona 446

3-4 Vol. 2AINSTRUCTION SET REFERENCE, A-M• ptr16:16, ptr16:32 and ptr16:64 — A far pointer, typically to a code segment different from that of the ins

Strona 447

3-454 Vol. 2A IDIV—Signed DivideINSTRUCTION SET REFERENCE, A-MOperationIF SRC = 0THEN #DE; (* Divide error *) FI;IF OperandSize = 8 (* Word/byte opera

Strona 448

Vol. 2A 3-455INSTRUCTION SET REFERENCE, A-MIDIV—Signed DivideTHEN #DE; (* Divide error *) ELSEEAX ← temp;EDX ← EDXE:AX SignedModulus SRC;FI;FI;ELSE IF

Strona 449 - − DEST; FI;

3-456 Vol. 2A IDIV—Signed DivideINSTRUCTION SET REFERENCE, A-M#GP If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment l

Strona 450 - FSUBRP

Vol. 2A 3-457INSTRUCTION SET REFERENCE, A-MIMUL—Signed MultiplyIMUL—Signed MultiplyOpcode Instruction 64-Bit ModeCompat/Leg ModeDescriptionF6 /5 IMUL

Strona 451

3-458 Vol. 2A IMUL—Signed MultiplyINSTRUCTION SET REFERENCE, A-MDescriptionPerforms a signed multiplication of two operands. This instruction has thre

Strona 452 - FTST—TEST

Vol. 2A 3-459INSTRUCTION SET REFERENCE, A-MIMUL—Signed Multiplysigned or unsigned. The CF and OF flags, however, cannot be used to determine if the up

Strona 453

3-460 Vol. 2A IMUL—Signed MultiplyINSTRUCTION SET REFERENCE, A-MELSE IF (NumberOfOperands = 2)THEN temp ← DEST ∗ SRC (* Signed multiplication; temp is

Strona 454

Vol. 2A 3-461INSTRUCTION SET REFERENCE, A-MIMUL—Signed Multiply#SS If a memory operand effective address is outside the SS segment limit.#UD If the L

Strona 455 - = FUCOMPP

3-462 Vol. 2A IN—Input from PortINSTRUCTION SET REFERENCE, A-MIN—Input from PortDescriptionCopies the value from the I/O port specified with the secon

Strona 456

Vol. 2A 3-463INSTRUCTION SET REFERENCE, A-MIN—Input from PortDEST ← SRC; (* Read from selected I/O port *)FI;ELSE (Real Mode or Protected Mode with CP

Strona 457 - FXAM—ExamineModR/M

Vol. 2A 3-5INSTRUCTION SET REFERENCE, A-M• r/m32 — A doubleword general-purpose register or memory operand used for instructions whose operand-size at

Strona 458

3-464 Vol. 2A INC—Increment by 1INSTRUCTION SET REFERENCE, A-MINC—Increment by 1DescriptionAdds 1 to the destination operand, while preserving the sta

Strona 459

Vol. 2A 3-465INSTRUCTION SET REFERENCE, A-MINC—Increment by 1Protected Mode Exceptions#GP(0) If the destination operand is located in a non-writable s

Strona 460

3-466 Vol. 2A INC—Increment by 1INSTRUCTION SET REFERENCE, A-M#AC(0) If alignment checking is enabled and an unaligned memory reference is made while

Strona 461

Vol. 2A 3-467INSTRUCTION SET REFERENCE, A-MINS/INSB/INSW/INSD—Input from Port to StringINS/INSB/INSW/INSD—Input from Port to StringDescriptionCopies t

Strona 462

3-468 Vol. 2A INS/INSB/INSW/INSD—Input from Port to StringINSTRUCTION SET REFERENCE, A-Mdestination operand symbol must specify the correct type (size

Strona 463

Vol. 2A 3-469INSTRUCTION SET REFERENCE, A-MINS/INSB/INSW/INSD—Input from Port to StringIF (Byte transfer)THEN IF DF = 0THEN (E)DI ← (E)DI + 1; ELSE (E

Strona 464 - Memory Region

3-470 Vol. 2A INS/INSB/INSW/INSD—Input from Port to StringINSTRUCTION SET REFERENCE, A-M#AC(0) If alignment checking is enabled and an unaligned memor

Strona 465 - Memory Region (Contd.)

Vol. 2A 3-471INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt ProcedureINT n/INTO/INT 3—Call to Interrupt ProcedureDescriptionThe INT

Strona 466

3-472 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-Mwith the IRET instruction, which pops the EFLAGS information a

Strona 467 - Vol. 2A 3-421

Vol. 2A 3-473INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt ProcedureWhen the processor is executing in virtual-8086 mode, the IOPL

Strona 468

3-6 Vol. 2AINSTRUCTION SET REFERENCE, A-M• Sreg — A segment register. The segment register bit assignments are ES = 0, CS = 1, SS = 2, DS = 3, FS = 4,

Strona 469 - IA-32e Mode Operation

3-474 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-MCS ← IDT(Descriptor (vector_number ∗ 4), selector));EIP ← IDT(

Strona 470 - Default OperandSize

Vol. 2A 3-475INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt Procedureor index not within GDT limitsTHEN #GP(TSS selector); FI;Access

Strona 471 - Default OperandSize (Contd.)

3-476 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-MIF VM = 1 THEN #GP(new code segment selector); FI;IF code segm

Strona 472

Vol. 2A 3-477INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt Procedureor stack segment does not indicate writable data segmentTHEN #T

Strona 473

3-478 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-MFI;IF 32-bit gateTHENPush(far pointer to old stack); (* Old SS

Strona 474 - Implementation Note

Vol. 2A 3-479INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt ProcedureNewESP ← stack address;ELSE (* TSS is 16-bit *)TSSstackAddress

Strona 475

3-480 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-MTempSS ← SS;TempESP ← ESP;SS:ESP ← TSS(SS0:ESP0); (* Change to

Strona 476

Vol. 2A 3-481INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt ProcedureIF instruction pointer not within code segment limitTHEN #GP(0)

Strona 477 - FYL2X—Compute y ∗ log

3-482 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If the instruction pointer in

Strona 478

Vol. 2A 3-483INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt ProcedureReal-Address Mode Exceptions#GP If a memory operand effective a

Strona 479 - FYL2XP1—Compute y ∗ log

Vol. 2A 3-7INSTRUCTION SET REFERENCE, A-M• N.P. — Indicates the REX prefix does not affect the legacy instruction in 64-bit mode.• N.I. — Indicates th

Strona 480

3-484 Vol. 2A INT n/INTO/INT 3—Call to Interrupt ProcedureINSTRUCTION SET REFERENCE, A-MIf the stack segment for the TSS is not a writable data segmen

Strona 481

Vol. 2A 3-485INSTRUCTION SET REFERENCE, A-MINT n/INTO/INT 3—Call to Interrupt Procedure#TS(selector) If an attempt to load RSP from the TSS causes an

Strona 482

3-486 Vol. 2A INVD—Invalidate Internal CachesINSTRUCTION SET REFERENCE, A-MINVD—Invalidate Internal CachesDescriptionInvalidates (flushes) the process

Strona 483

Vol. 2A 3-487INSTRUCTION SET REFERENCE, A-MINVD—Invalidate Internal CachesProtected Mode Exceptions#GP(0) If the current privilege level is not 0.#UD

Strona 484

3-488 Vol. 2A INVLPG—Invalidate TLB EntryINSTRUCTION SET REFERENCE, A-MINVLPG—Invalidate TLB EntryDescriptionInvalidates (flushes) the translation loo

Strona 485

Vol. 2A 3-489INSTRUCTION SET REFERENCE, A-MINVLPG—Invalidate TLB EntryReal-Address Mode Exceptions#UD Operand is a register.If the LOCK prefix is used

Strona 486 - Exceptions

3-490 Vol. 2A IRET/IRETD—Interrupt ReturnINSTRUCTION SET REFERENCE, A-MIRET/IRETD—Interrupt ReturnDescriptionReturns program control from an exception

Strona 487

Vol. 2A 3-491INSTRUCTION SET REFERENCE, A-MIRET/IRETD—Interrupt ReturnAs with a real-address mode interrupt return, the IRET instruction pops the retu

Strona 488

3-492 Vol. 2A IRET/IRETD—Interrupt ReturnINSTRUCTION SET REFERENCE, A-MEFLAGS ← (tempEFLAGS AND 257FD5H) OR (EFLAGS AND 1A0000H);ELSE (* OperandSize =

Strona 489 - HLT—Halt

Vol. 2A 3-493INSTRUCTION SET REFERENCE, A-MIRET/IRETD—Interrupt ReturnELSE IF OperandSize = 32THENIF top 12 bytes of stack not within stack limitsTHEN

Strona 490

3-8 Vol. 2AINSTRUCTION SET REFERENCE, A-Maddress contained in register SI relative to the SI register’s default segment (DS) or the overridden segment

Strona 491

3-494 Vol. 2A IRET/IRETD—Interrupt ReturnINSTRUCTION SET REFERENCE, A-MTHEN #GP(0); FI;EIP ← Pop();EIP ← EIP AND 0000FFFFH;CS ← Pop(); (* 16-bit pop *

Strona 492 - − xmm2/m128[127:64];

Vol. 2A 3-495INSTRUCTION SET REFERENCE, A-MIRET/IRETD—Interrupt ReturnIF EIP is not within code segment limit THEN #GP(0); FI;END;PROTECTED-MODE-RETUR

Strona 493

3-496 Vol. 2A IRET/IRETD—Interrupt ReturnINSTRUCTION SET REFERENCE, A-M EFLAGS(IOPL) ← tempEFLAGS; IF OperandSize = 32 or OperandSize = 64THEN EFLAGS(

Strona 494 - If the LOCK prefix is used

Vol. 2A 3-497INSTRUCTION SET REFERENCE, A-MIRET/IRETD—Interrupt ReturnIF CPL = 0THENEFLAGS(IOPL) ← tempEFLAGS;IF OperandSize = 32THEN EFLAGS(VM, VIF,

Strona 495

3-498 Vol. 2A IRET/IRETD—Interrupt ReturnINSTRUCTION SET REFERENCE, A-MFlags AffectedAll the flags and fields in the EFLAGS register are potentially m

Strona 496 - − xmm2/m128[127:96];

Vol. 2A 3-499INSTRUCTION SET REFERENCE, A-MIRET/IRETD—Interrupt ReturnVirtual-8086 Mode Exceptions#GP(0) If the return instruction pointer is not with

Strona 497

3-500 Vol. 2A IRET/IRETD—Interrupt ReturnINSTRUCTION SET REFERENCE, A-MIf the stack segment selector RPL is not equal to the RPL of the return code se

Strona 498

Vol. 2A 3-501INSTRUCTION SET REFERENCE, A-MJcc—Jump if Condition Is MetJcc—Jump if Condition Is MetOpcode Instruction 64-Bit ModeCompat/Leg ModeDescri

Strona 499 - IDIV—Signed Divide

3-502 Vol. 2A Jcc—Jump if Condition Is MetINSTRUCTION SET REFERENCE, A-M75 cb JNZ rel8 Valid Valid Jump short if not zero (ZF=0).70 cb JO rel8 Valid V

Strona 500 - = 8 (* Word/byte operation *)

Vol. 2A 3-503INSTRUCTION SET REFERENCE, A-MJcc—Jump if Condition Is Met0F 8C cw JL rel16 N.S. Valid Jump near if less (SF≠ OF). Not supported in 64-bi

Strona 501

Vol. 2A 3-9INSTRUCTION SET REFERENCE, A-MAttribute for Stack” in Chapter 6, “Procedure Calls, Interrupts, and Exceptions,” of the Intel® 64 and IA-32

Strona 502

3-504 Vol. 2A Jcc—Jump if Condition Is MetINSTRUCTION SET REFERENCE, A-M0F 8C cd JNGE rel32 Valid Valid Jump near if not greater or equal (SF≠ OF).0F

Strona 503 - IMUL—Signed Multiply

Vol. 2A 3-505INSTRUCTION SET REFERENCE, A-MJcc—Jump if Condition Is MetDescriptionChecks the state of one or more of the status flags in the EFLAGS re

Strona 504

3-506 Vol. 2A Jcc—Jump if Condition Is MetINSTRUCTION SET REFERENCE, A-Mchecked is determined by the address-size attribute. These instructions are us

Strona 505

Vol. 2A 3-507INSTRUCTION SET REFERENCE, A-MJcc—Jump if Condition Is MetCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode E

Strona 506

3-508 Vol. 2A JMP—JumpINSTRUCTION SET REFERENCE, A-MJMP—JumpDescriptionTransfers program control to a different point in the instruction stream withou

Strona 507

Vol. 2A 3-509INSTRUCTION SET REFERENCE, A-MJMP—Jump• Short jump—A near jump where the jump range is limited to –128 to +127 from the current EIP value

Strona 508 - IN—Input from Port

3-510 Vol. 2A JMP—JumpINSTRUCTION SET REFERENCE, A-M• A task switch.(The JMP instruction cannot be used to perform inter-privilege-level far jumps.)In

Strona 509 - Vol. 2A 3-463

Vol. 2A 3-511INSTRUCTION SET REFERENCE, A-MJMP—Jumpand save the previous task link information, allowing a return to the calling task with an IRET ins

Strona 510 - INC—Increment by 1

3-512 Vol. 2A JMP—JumpINSTRUCTION SET REFERENCE, A-MFI;IF far jump and (PE = 0 or (PE = 1 AND VM = 1)) (* Real-address or virtual-8086 mode *) THEN te

Strona 511

Vol. 2A 3-513INSTRUCTION SET REFERENCE, A-MJMP—JumpTHEN GP(new code segment selector); FI; IF DPL > CPL THEN #GP(segment selector); FI; IF segment

Strona 512

3-10 Vol. 2AINSTRUCTION SET REFERENCE, A-Mzero (00H); if it is greater than 65535, it is represented by the saturated value 65535 (FFFFH).• LowOrderWo

Strona 513

3-514 Vol. 2A JMP—JumpINSTRUCTION SET REFERENCE, A-MTHEN #GP(0); FI;IF call gate code-segment selector index outside descriptor table limitsTHEN #GP(c

Strona 514

Vol. 2A 3-515INSTRUCTION SET REFERENCE, A-MJMP—Jumpor TSS DPL < TSS segment-selector RPLor TSS descriptor indicates TSS not availableTHEN #GP(TSS s

Strona 515

3-516 Vol. 2A JMP—JumpINSTRUCTION SET REFERENCE, A-MIf the segment selector for a TSS has its local/global bit set for local.If a TSS segment descript

Strona 516

Vol. 2A 3-517INSTRUCTION SET REFERENCE, A-MJMP—JumpIf target offset in destination operand is non-canonical.If target offset in destination operand is

Strona 517

3-518 Vol. 2A LAHF—Load Status Flags into AH RegisterINSTRUCTION SET REFERENCE, A-MLAHF—Load Status Flags into AH RegisterDescriptionThis instruction

Strona 518 - Table 3-56. Decision Table

Vol. 2A 3-519INSTRUCTION SET REFERENCE, A-MLAHF—Load Status Flags into AH Register64-Bit Mode Exceptions#UD If CPUID.80000001H:ECX.LAHF-SAHF[bit 0] =

Strona 519

3-520 Vol. 2A LAR—Load Access Rights ByteINSTRUCTION SET REFERENCE, A-MLAR—Load Access Rights ByteDescriptionLoads the access rights from the segment

Strona 520 - = 1, task gate *)

Vol. 2A 3-521INSTRUCTION SET REFERENCE, A-MLAR—Load Access Rights Byte• If the segment is not a conforming code segment, it checks that the specified

Strona 521 - Vol. 2A 3-475

3-522 Vol. 2A LAR—Load Access Rights ByteINSTRUCTION SET REFERENCE, A-MZF = 0; ELSE IF SegmentDescriptor(Type) ≠ conforming code segmentand (CPL >

Strona 522

Vol. 2A 3-523INSTRUCTION SET REFERENCE, A-MLAR—Load Access Rights ByteVirtual-8086 Mode Exceptions#UD The LAR instruction cannot be executed in virtua

Strona 523 - Vol. 2A 3-477

Vol. 2A 3-11INSTRUCTION SET REFERENCE, A-MThe addressed bit is numbered (Offset MOD 8) within the byte at address (BitBase + (BitOffset DIV 8)) where

Strona 524

3-524 Vol. 2A LDDQU—Load Unaligned Integer 128 BitsINSTRUCTION SET REFERENCE, A-MLDDQU—Load Unaligned Integer 128 BitsDescriptionThe instruction is fu

Strona 525 - = 0; FI;

Vol. 2A 3-525INSTRUCTION SET REFERENCE, A-MLDDQU—Load Unaligned Integer 128 BitsIntel C/C++ Compiler Intrinsic EquivalentLDDQU __m128i _mm_lddqu_si128

Strona 526

3-526 Vol. 2A LDDQU—Load Unaligned Integer 128 BitsINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-

Strona 527

Vol. 2A 3-527INSTRUCTION SET REFERENCE, A-MLDMXCSR—Load MXCSR RegisterLDMXCSR—Load MXCSR RegisterDescriptionLoads the source operand into the MXCSR co

Strona 528

3-528 Vol. 2A LDMXCSR—Load MXCSR RegisterINSTRUCTION SET REFERENCE, A-MIf CPUID.01H:EDX.SSE[bit 25] = 0.If the LOCK prefix is used.#AC(0) If alignment

Strona 529

Vol. 2A 3-529INSTRUCTION SET REFERENCE, A-MLDS/LES/LFS/LGS/LSS—Load Far PointerLDS/LES/LFS/LGS/LSS—Load Far PointerDescriptionLoads a far pointer (seg

Strona 530

3-530 Vol. 2A LDS/LES/LFS/LGS/LSS—Load Far PointerINSTRUCTION SET REFERENCE, A-MIf one of these instructions is executed in protected mode, additional

Strona 531 - Vol. 2A 3-485

Vol. 2A 3-531INSTRUCTION SET REFERENCE, A-MLDS/LES/LFS/LGS/LSS—Load Far PointerFI;SegmentRegister ← SegmentSelector(SRC) ;SegmentRegister ← SegmentDes

Strona 532

3-532 Vol. 2A LDS/LES/LFS/LGS/LSS—Load Far PointerINSTRUCTION SET REFERENCE, A-MFI;DEST ← Offset(SRC);Real-Address or Virtual-8086 ModeSegmentRegister

Strona 533

Vol. 2A 3-533INSTRUCTION SET REFERENCE, A-MLDS/LES/LFS/LGS/LSS—Load Far Pointer#SS If a memory operand effective address is outside the SS segment lim

Strona 534 - INVLPG—Invalidate TLB Entry

3-12 Vol. 2AINSTRUCTION SET REFERENCE, A-MSee Appendix C, “InteL® C/C++ Compiler Intrinsics and Functional Equivalents,” in the Intel® 64 and IA-32 Ar

Strona 535

3-534 Vol. 2A LDS/LES/LFS/LGS/LSS—Load Far PointerINSTRUCTION SET REFERENCE, A-M#NP(selector) If FS, or GS register is being loaded with a non-NULL se

Strona 536 - IRET/IRETD—Interrupt Return

Vol. 2A 3-535INSTRUCTION SET REFERENCE, A-MLEA—Load Effective AddressLEA—Load Effective AddressDescriptionComputes the effective address of the second

Strona 537

3-536 Vol. 2A LEA—Load Effective AddressINSTRUCTION SET REFERENCE, A-MOperationIF OperandSize = 16 and AddressSize = 16THEN DEST ← EffectiveAddress(SR

Strona 538

Vol. 2A 3-537INSTRUCTION SET REFERENCE, A-MLEA—Load Effective AddressDEST ← temp[0:15]; (* 16-bit address *)FI;ELSE IF OperandSize = 32 and AddressSiz

Strona 539 - Vol. 2A 3-493

3-538 Vol. 2A LEAVE—High Level Procedure ExitINSTRUCTION SET REFERENCE, A-MLEAVE—High Level Procedure ExitDescriptionReleases the stack frame set up b

Strona 540

Vol. 2A 3-539INSTRUCTION SET REFERENCE, A-MLEAVE—High Level Procedure ExitFlags AffectedNone.Protected Mode Exceptions#SS(0) If the EBP register point

Strona 541 - Vol. 2A 3-495

3-540 Vol. 2A LFENCE—Load FenceINSTRUCTION SET REFERENCE, A-MLFENCE—Load FenceDescriptionPerforms a serializing operation on all load-from-memory inst

Strona 542

Vol. 2A 3-541INSTRUCTION SET REFERENCE, A-MLGDT/LIDT—Load Global/Interrupt Descriptor Table RegisterLGDT/LIDT—Load Global/Interrupt Descriptor Table R

Strona 543 - Vol. 2A 3-497

3-542 Vol. 2A LGDT/LIDT—Load Global/Interrupt Descriptor Table RegisterINSTRUCTION SET REFERENCE, A-MIDTR(Limit) ← SRC[0:15];IDTR(Base) ← SRC[16:47];

Strona 544

Vol. 2A 3-543INSTRUCTION SET REFERENCE, A-MLGDT/LIDT—Load Global/Interrupt Descriptor Table RegisterReal-Address Mode Exceptions#UD If source operand

Strona 545

Vol. 2A 3-13INSTRUCTION SET REFERENCE, A-M• The __m128i data type can hold sixteen byte, eight word, or four doubleword, or two quadword integer value

Strona 546

3-544 Vol. 2A LLDT—Load Local Descriptor Table RegisterINSTRUCTION SET REFERENCE, A-MLLDT—Load Local Descriptor Table RegisterDescriptionLoads the sou

Strona 547 - Jcc—Jump if Condition Is Met

Vol. 2A 3-545INSTRUCTION SET REFERENCE, A-MLLDT—Load Local Descriptor Table RegisterELSE LDTR ← INVALIDFI;Flags AffectedNone.Protected Mode Exceptions

Strona 548

3-546 Vol. 2A LLDT—Load Local Descriptor Table RegisterINSTRUCTION SET REFERENCE, A-M#PF(fault-code) If a page fault occurs.#UD If the LOCK prefix is

Strona 549 - Vol. 2A 3-503

Vol. 2A 3-547INSTRUCTION SET REFERENCE, A-MLMSW—Load Machine Status WordLMSW—Load Machine Status WordDescriptionLoads the source operand into the mach

Strona 550

3-548 Vol. 2A LMSW—Load Machine Status WordINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If the current privilege level is not 0.If a

Strona 551

Vol. 2A 3-549INSTRUCTION SET REFERENCE, A-MLOCK—Assert LOCK# Signal PrefixLOCK—Assert LOCK# Signal PrefixDescriptionCauses the processor’s LOCK# signa

Strona 552

3-550 Vol. 2A LOCK—Assert LOCK# Signal PrefixINSTRUCTION SET REFERENCE, A-MOperationAssertLOCK#(DurationOfAccompaningInstruction);Flags AffectedNone.P

Strona 553

Vol. 2A 3-551INSTRUCTION SET REFERENCE, A-MLODS/LODSB/LODSW/LODSD/LODSQ—Load StringLODS/LODSB/LODSW/LODSD/LODSQ—Load StringDescriptionLoads a byte, wo

Strona 554 - JMP—Jump

3-552 Vol. 2A LODS/LODSB/LODSW/LODSD/LODSQ—Load StringINSTRUCTION SET REFERENCE, A-Mcorrect location. The location is always specified by the DS:(E)SI

Strona 555 - Vol. 2A 3-509

Vol. 2A 3-553INSTRUCTION SET REFERENCE, A-MLODS/LODSB/LODSW/LODSD/LODSQ—Load StringFI;FI;ELSE IF RAX ← SRC; (* Quadword load *)THEN IF DF = 0THEN (R)S

Strona 556 - • A task switch

CONTENTSviVol. 2APAGEDouble-Precision Floating-Point Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-231CVTSS2SI—Conver

Strona 557

3-14 Vol. 2AINSTRUCTION SET REFERENCE, A-MSome intrinsics are “composites” because they require more than one instruction to implement them. You shoul

Strona 558 - 3-512 Vol. 2A JMP—Jump

3-554 Vol. 2A LODS/LODSB/LODSW/LODSD/LODSQ—Load StringINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.

Strona 559 - Vol. 2A 3-513

Vol. 2A 3-555INSTRUCTION SET REFERENCE, A-MLOOP/LOOPcc—Loop According to ECX CounterLOOP/LOOPcc—Loop According to ECX CounterDescriptionPerforms a loo

Strona 560 - 3-514 Vol. 2A JMP—Jump

3-556 Vol. 2A LOOP/LOOPcc—Loop According to ECX CounterINSTRUCTION SET REFERENCE, A-MIF (Instruction ← LOOPE) or (Instruction ← LOOPZ)THEN IF (ZF = 1)

Strona 561

Vol. 2A 3-557INSTRUCTION SET REFERENCE, A-MLOOP/LOOPcc—Loop According to ECX CounterProtected Mode Exceptions#GP(0) If the offset being jumped to is b

Strona 562

3-558 Vol. 2A LSL—Load Segment LimitINSTRUCTION SET REFERENCE, A-MLSL—Load Segment LimitDescriptionLoads the unscrambled segment limit from the segmen

Strona 563 - Vol. 2A 3-517

Vol. 2A 3-559INSTRUCTION SET REFERENCE, A-MLSL—Load Segment Limit• Checks that the descriptor type is valid for this instruction. All code and data se

Strona 564

3-560 Vol. 2A LSL—Load Segment LimitINSTRUCTION SET REFERENCE, A-MRead segment descriptor;IF SegmentDescriptor(Type) ≠ conforming code segmentand (CPL

Strona 565

Vol. 2A 3-561INSTRUCTION SET REFERENCE, A-MLSL—Load Segment LimitCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode Excepti

Strona 566 - LAR—Load Access Rights Byte

3-562 Vol. 2A LTR—Load Task RegisterINSTRUCTION SET REFERENCE, A-MLTR—Load Task RegisterDescriptionLoads the source operand into the segment selector

Strona 567

Vol. 2A 3-563INSTRUCTION SET REFERENCE, A-MLTR—Load Task RegisterFlags AffectedNone.Protected Mode Exceptions#GP(0) If the current privilege level is

Strona 568 - ≠ conforming code segment

Vol. 2A 3-15INSTRUCTION SET REFERENCE, A-Mletter mnemonic with the corresponding interrupt vector number and exception name. See Chapter 5, “Interrupt

Strona 569

3-564 Vol. 2A LTR—Load Task RegisterINSTRUCTION SET REFERENCE, A-M#NP(selector) If the TSS is marked not present.#PF(fault-code) If a page fault occur

Strona 570 - Implementation Notes

Vol. 2A 3-565INSTRUCTION SET REFERENCE, A-MMASKMOVDQU—Store Selected Bytes of Double QuadwordMASKMOVDQU—Store Selected Bytes of Double QuadwordDescrip

Strona 571

3-566 Vol. 2A MASKMOVDQU—Store Selected Bytes of Double QuadwordINSTRUCTION SET REFERENCE, A-MIn 64-bit mode, use of the REX.R prefix permits this ins

Strona 572

Vol. 2A 3-567INSTRUCTION SET REFERENCE, A-MMASKMOVDQU—Store Selected Bytes of Double QuadwordVirtual-8086 Mode ExceptionsSame exceptions as in real ad

Strona 573 - LDMXCSR—Load MXCSR Register

3-568 Vol. 2A MASKMOVQ—Store Selected Bytes of QuadwordINSTRUCTION SET REFERENCE, A-MMASKMOVQ—Store Selected Bytes of QuadwordDescriptionStores select

Strona 574

Vol. 2A 3-569INSTRUCTION SET REFERENCE, A-MMASKMOVQ—Store Selected Bytes of QuadwordThe MASKMOVQ instruction can be used to improve performance for al

Strona 575

3-570 Vol. 2A MASKMOVQ—Store Selected Bytes of QuadwordINSTRUCTION SET REFERENCE, A-M#MF If there is a pending FPU exception.#UD If CR0.EM[bit 2] = 1

Strona 576 - ≠ 3 and RPL ≠ CPL) )

Vol. 2A 3-571INSTRUCTION SET REFERENCE, A-MMAXPD—Return Maximum Packed Double-Precision Floating-Point ValuesMAXPD—Return Maximum Packed Double-Precis

Strona 577 - Vol. 2A 3-531

3-572 Vol. 2A MAXPD—Return Maximum Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MELSE SRC[127:64]; FI; FI;Intel C/C++ Com

Strona 578

Vol. 2A 3-573INSTRUCTION SET REFERENCE, A-MMAXPD—Return Maximum Packed Double-Precision Floating-Point ValuesVirtual-8086 Mode ExceptionsSame exceptio

Strona 579

3-16 Vol. 2AINSTRUCTION SET REFERENCE, A-M3.1.1.12 Real-Address Mode Exceptions SectionThe “Real-Address Mode Exceptions” section lists the exceptio

Strona 580

3-574 Vol. 2A MAXPS—Return Maximum Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMAXPS—Return Maximum Packed Single-Preci

Strona 581 - LEA—Load Effective Address

Vol. 2A 3-575INSTRUCTION SET REFERENCE, A-MMAXPS—Return Maximum Packed Single-Precision Floating-Point ValuesTHEN DEST[127:96]; ELSE SRC[127:96]; FI;

Strona 582 - = 16 and AddressSize = 64

3-576 Vol. 2A MAXPS—Return Maximum Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MIf CPUID.01H:EDX.SSE[bit 25] = 0.If the

Strona 583 - = 64 and AddressSize = 64

Vol. 2A 3-577INSTRUCTION SET REFERENCE, A-MMAXSD—Return Maximum Scalar Double-Precision Floating-Point ValueMAXSD—Return Maximum Scalar Double-Precisi

Strona 584

3-578 Vol. 2A MAXSD—Return Maximum Scalar Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MIntel C/C++ Compiler Intrinsic Equivalent

Strona 585 - Vol. 2A 3-539

Vol. 2A 3-579INSTRUCTION SET REFERENCE, A-MMAXSD—Return Maximum Scalar Double-Precision Floating-Point Value#PF(fault-code) For a page fault.#AC(0) I

Strona 586 - LFENCE—Load Fence

3-580 Vol. 2A MAXSS—Return Maximum Scalar Single-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MMAXSS—Return Maximum Scalar Single-Precis

Strona 587

Vol. 2A 3-581INSTRUCTION SET REFERENCE, A-MMAXSS—Return Maximum Scalar Single-Precision Floating-Point ValueSIMD Floating-Point ExceptionsInvalid (inc

Strona 588

3-582 Vol. 2A MAXSS—Return Maximum Scalar Single-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame excepti

Strona 589

Vol. 2A 3-583INSTRUCTION SET REFERENCE, A-MMFENCE—Memory FenceMFENCE—Memory FenceDescriptionPerforms a serializing operation on all load-from-memory a

Strona 590

Vol. 2A 3-17INSTRUCTION SET REFERENCE, A-M3.1.1.15 SIMD Floating-Point Exceptions SectionThe “SIMD Floating-Point Exceptions” section lists exceptio

Strona 591 - Vol. 2A 3-545

3-584 Vol. 2A MINPD—Return Minimum Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMINPD—Return Minimum Packed Double-Preci

Strona 592

Vol. 2A 3-585INSTRUCTION SET REFERENCE, A-MMINPD—Return Minimum Packed Double-Precision Floating-Point ValuesTHEN DEST[127:64] ELSE SRC[127:64]; FI; F

Strona 593 - LMSW—Load Machine Status Word

3-586 Vol. 2A MINPD—Return Minimum Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MIf CPUID.01H:EDX.SSE2[bit 26] = 0.If the

Strona 594

Vol. 2A 3-587INSTRUCTION SET REFERENCE, A-MMINPS—Return Minimum Packed Single-Precision Floating-Point ValuesMINPS—Return Minimum Packed Single-Precis

Strona 595

3-588 Vol. 2A MINPS—Return Minimum Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MTHEN DEST[127:96] ELSE SRC[127:96]; FI;

Strona 596

Vol. 2A 3-589INSTRUCTION SET REFERENCE, A-MMINPS—Return Minimum Packed Single-Precision Floating-Point ValuesIf CPUID.01H:EDX.SSE[bit 25] = 0.If the L

Strona 597

3-590 Vol. 2A MINSD—Return Minimum Scalar Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MMINSD—Return Minimum Scalar Double-Precis

Strona 598

Vol. 2A 3-591INSTRUCTION SET REFERENCE, A-MMINSD—Return Minimum Scalar Double-Precision Floating-Point ValueSIMD Floating-Point ExceptionsInvalid (inc

Strona 599

3-592 Vol. 2A MINSD—Return Minimum Scalar Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame excepti

Strona 600

Vol. 2A 3-593INSTRUCTION SET REFERENCE, A-MMINSS—Return Minimum Scalar Single-Precision Floating-Point ValueMINSS—Return Minimum Scalar Single-Precisi

Strona 601

3-18 Vol. 2AINSTRUCTION SET REFERENCE, A-M3.2 INSTRUCTIONS (A-M)The remainder of this chapter provides descriptions of Intel 64 and IA-32 instructions

Strona 602

3-594 Vol. 2A MINSS—Return Minimum Scalar Single-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MSIMD Floating-Point ExceptionsInvalid (in

Strona 603

Vol. 2A 3-595INSTRUCTION SET REFERENCE, A-MMINSS—Return Minimum Scalar Single-Precision Floating-Point ValueCompatibility Mode ExceptionsSame exceptio

Strona 604 - LSL—Load Segment Limit

3-596 Vol. 2A MONITOR—Set Up Monitor AddressINSTRUCTION SET REFERENCE, A-MMONITOR—Set Up Monitor AddressDescriptionThe MONITOR instruction arms addres

Strona 605

Vol. 2A 3-597INSTRUCTION SET REFERENCE, A-MMONITOR—Set Up Monitor AddressOperationMONITOR sets up an address range for the monitor hardware using the

Strona 606 - = 64 (* REX.W used *)

3-598 Vol. 2A MONITOR—Set Up Monitor AddressINSTRUCTION SET REFERENCE, A-M64-Bit Mode Exceptions#GP(0) If the linear address of the operand in the CS,

Strona 607

Vol. 2A 3-599INSTRUCTION SET REFERENCE, A-MMOV—MoveMOV—MoveOpcode Instruction 64-Bit ModeCompat/Leg ModeDescription88 /r MOV r/m8,r8 Valid Valid Move

Strona 608 - LTR—Load Task Register

3-600 Vol. 2A MOV—MoveINSTRUCTION SET REFERENCE, A-MDescriptionCopies the second operand (source operand) to the first operand (destination operand).

Strona 609 - Vol. 2A 3-563

Vol. 2A 3-601INSTRUCTION SET REFERENCE, A-MMOV—Movebelow). The segment descriptor data is obtained from the GDT or LDT entry for the specified segment

Strona 610

3-602 Vol. 2A MOV—MoveINSTRUCTION SET REFERENCE, A-MLoading a segment register while in protected mode results in special checks and actions, as descr

Strona 611

Vol. 2A 3-603INSTRUCTION SET REFERENCE, A-MMOV—MoveProtected Mode Exceptions#GP(0) If attempt is made to load SS register with NULL segment selector.I

Strona 612

Vol. 2A 3-19INSTRUCTION SET REFERENCE, A-MAAA—ASCII Adjust After AdditionAAA—ASCII Adjust After AdditionDescriptionAdjusts the sum of two unpacked BCD

Strona 613

3-604 Vol. 2A MOV—MoveINSTRUCTION SET REFERENCE, A-M#SS(0) If a memory operand effective address is outside the SS segment limit.#PF(fault-code) If a

Strona 614

Vol. 2A 3-605INSTRUCTION SET REFERENCE, A-MMOV—Move to/from Control RegistersMOV—Move to/from Control RegistersDescriptionMoves the contents of a cont

Strona 615 - Vol. 2A 3-569

3-606 Vol. 2A MOV—Move to/from Control RegistersINSTRUCTION SET REFERENCE, A-Mand CR3 remain clear after any load of those registers; attempts to set

Strona 616

Vol. 2A 3-607INSTRUCTION SET REFERENCE, A-MMOV—Move to/from Control RegistersIf an attempt is made to write invalid bit combinations in CR0 (such as s

Strona 617

3-608 Vol. 2A MOV—Move to/from Debug RegistersINSTRUCTION SET REFERENCE, A-MMOV—Move to/from Debug RegistersDescriptionMoves the contents of a debug r

Strona 618

Vol. 2A 3-609INSTRUCTION SET REFERENCE, A-MMOV—Move to/from Debug RegistersFlags AffectedThe OF, SF, ZF, AF, PF, and CF flags are undefined.Protected

Strona 619

3-610 Vol. 2A MOVAPD—Move Aligned Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMOVAPD—Move Aligned Packed Double-Precisi

Strona 620 - > SRC[127:96])

Vol. 2A 3-611INSTRUCTION SET REFERENCE, A-MMOVAPD—Move Aligned Packed Double-Precision Floating-Point ValuesProtected Mode Exceptions#GP(0) For an ill

Strona 621

3-612 Vol. 2A MOVAPD—Move Aligned Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[b

Strona 622

Vol. 2A 3-613INSTRUCTION SET REFERENCE, A-MMOVAPS—Move Aligned Packed Single-Precision Floating-Point ValuesMOVAPS—Move Aligned Packed Single-Precisio

Strona 623 - = SNaN)

3-20 Vol. 2A AAA—ASCII Adjust After AdditionINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#UD If the LOCK prefix is used.Real-Address Mode Ex

Strona 624

3-614 Vol. 2A MOVAPS—Move Aligned Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) For an il

Strona 625

Vol. 2A 3-615INSTRUCTION SET REFERENCE, A-MMOVAPS—Move Aligned Packed Single-Precision Floating-Point Values#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[bi

Strona 626 - = SNaN) THEN SRC[31:0]; FI;

3-616 Vol. 2A MOVD/MOVQ—Move Doubleword/Move QuadwordINSTRUCTION SET REFERENCE, A-MMOVD/MOVQ—Move Doubleword/Move QuadwordDescriptionCopies a doublewo

Strona 627

Vol. 2A 3-617INSTRUCTION SET REFERENCE, A-MMOVD/MOVQ—Move Doubleword/Move QuadwordOperationMOVD instruction when destination operand is MMX technology

Strona 628

3-618 Vol. 2A MOVD/MOVQ—Move Doubleword/Move QuadwordINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1.128-bit operations will generate #UD only

Strona 629 - MFENCE—Memory Fence

Vol. 2A 3-619INSTRUCTION SET REFERENCE, A-MMOVD/MOVQ—Move Doubleword/Move Quadword#UD If CR0.EM[bit 2] = 1.(XMM register operations only) if CR4.OSFXS

Strona 630 - < SRC[63:0])

3-620 Vol. 2A MOVDDUP—Move One Double-FP and DuplicateINSTRUCTION SET REFERENCE, A-MMOVDDUP—Move One Double-FP and DuplicateDescriptionThe linear addr

Strona 631

Vol. 2A 3-621INSTRUCTION SET REFERENCE, A-MMOVDDUP—Move One Double-FP and Duplicatexmm1[127:64] = m64; ELSE (* Move instruction *)xmm1[63:0] = xmm2[63

Strona 632

3-622 Vol. 2A MOVDDUP—Move One Double-FP and DuplicateINSTRUCTION SET REFERENCE, A-MVirtual 8086 Mode ExceptionsGP(0) If any part of the operand woul

Strona 633 - < SRC[127:96])

Vol. 2A 3-623INSTRUCTION SET REFERENCE, A-MMOVDQA—Move Aligned Double QuadwordMOVDQA—Move Aligned Double QuadwordDescriptionMoves a double quadword fr

Strona 634

Vol. 2A 3-21INSTRUCTION SET REFERENCE, A-MAAD—ASCII Adjust AX Before DivisionAAD—ASCII Adjust AX Before DivisionDescriptionAdjusts two unpacked BCD di

Strona 635

3-624 Vol. 2A MOVDQA—Move Aligned Double QuadwordINSTRUCTION SET REFERENCE, A-M#SS(0) If a memory operand effective address is outside the SS segment

Strona 636 - = SNaN) THEN SRC[63:0]; FI;

Vol. 2A 3-625INSTRUCTION SET REFERENCE, A-MMOVDQU—Move Unaligned Double QuadwordMOVDQU—Move Unaligned Double QuadwordDescriptionMoves a double quadwor

Strona 637

3-626 Vol. 2A MOVDQU—Move Unaligned Double QuadwordINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#AC(0) If alignment checking is enabled and

Strona 638

Vol. 2A 3-627INSTRUCTION SET REFERENCE, A-MMOVDQU—Move Unaligned Double Quadword#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[bit 9] = 0.If CPUID.01H:EDX.SS

Strona 639

3-628 Vol. 2A MOVDQ2Q—Move Quadword from XMM to MMX Technology RegisterINSTRUCTION SET REFERENCE, A-MMOVDQ2Q—Move Quadword from XMM to MMX Technology

Strona 640

Vol. 2A 3-629INSTRUCTION SET REFERENCE, A-MMOVDQ2Q—Move Quadword from XMM to MMX Technology RegisterVirtual-8086 Mode ExceptionsSame exceptions as in

Strona 641

3-630 Vol. 2A MOVHLPS— Move Packed Single-Precision Floating-Point Values High to LowINSTRUCTION SET REFERENCE, A-MMOVHLPS— Move Packed Single-Precisi

Strona 642

Vol. 2A 3-631INSTRUCTION SET REFERENCE, A-MMOVHLPS— Move Packed Single-Precision Floating-Point Values High to LowVirtual 8086 Mode ExceptionsSame exc

Strona 643 - Vol. 2A 3-597

3-632 Vol. 2A MOVHPD—Move High Packed Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MMOVHPD—Move High Packed Double-Precision Floa

Strona 644

Vol. 2A 3-633INSTRUCTION SET REFERENCE, A-MMOVHPD—Move High Packed Double-Precision Floating-Point ValueProtected Mode Exceptions#GP(0) For an illegal

Strona 645 - MOV—Move

3-22 Vol. 2A AAD—ASCII Adjust AX Before DivisionINSTRUCTION SET REFERENCE, A-MFlags AffectedThe SF, ZF, and PF flags are set according to the resultin

Strona 646

3-634 Vol. 2A MOVHPD—Move High Packed Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MIf CPUID.01H:EDX.SSE2[bit 26] = 0.If the LOCK

Strona 647

Vol. 2A 3-635INSTRUCTION SET REFERENCE, A-MMOVHPS—Move High Packed Single-Precision Floating-Point ValuesMOVHPS—Move High Packed Single-Precision Floa

Strona 648

3-636 Vol. 2A MOVHPS—Move High Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#SS(0) For an illegal address in the SS seg

Strona 649

Vol. 2A 3-637INSTRUCTION SET REFERENCE, A-MMOVHPS—Move High Packed Single-Precision Floating-Point Values#AC(0) If alignment checking is enabled and a

Strona 650

3-638 Vol. 2A MOVLHPS—Move Packed Single-Precision Floating-Point Values Low to HighINSTRUCTION SET REFERENCE, A-MMOVLHPS—Move Packed Single-Precision

Strona 651

Vol. 2A 3-639INSTRUCTION SET REFERENCE, A-MMOVLHPS—Move Packed Single-Precision Floating-Point Values Low to HighCompatibility Mode ExceptionsSame exc

Strona 652

3-640 Vol. 2A MOVLPD—Move Low Packed Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MMOVLPD—Move Low Packed Double-Precision Floati

Strona 653

Vol. 2A 3-641INSTRUCTION SET REFERENCE, A-MMOVLPD—Move Low Packed Double-Precision Floating-Point Value#SS(0) For an illegal address in the SS segmen

Strona 654

3-642 Vol. 2A MOVLPS—Move Low Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMOVLPS—Move Low Packed Single-Precision Float

Strona 655 - Vol. 2A 3-609

Vol. 2A 3-643INSTRUCTION SET REFERENCE, A-MMOVLPS—Move Low Packed Single-Precision Floating-Point Values#SS(0) For an illegal address in the SS segme

Strona 656

Vol. 2A 3-23INSTRUCTION SET REFERENCE, A-MAAM—ASCII Adjust AX After MultiplyAAM—ASCII Adjust AX After MultiplyDescriptionAdjusts the result of the mul

Strona 657

3-644 Vol. 2A MOVLPS—Move Low Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#AC(0) If alignment checking is enabled and a

Strona 658 - If CR4.OSFXSR[bit 9] = 0

Vol. 2A 3-645INSTRUCTION SET REFERENCE, A-MMOVMSKPD—Extract Packed Double-Precision Floating-Point Sign MaskMOVMSKPD—Extract Packed Double-Precision F

Strona 659

3-646 Vol. 2A MOVMSKPD—Extract Packed Double-Precision Floating-Point Sign MaskINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[b

Strona 660

Vol. 2A 3-647INSTRUCTION SET REFERENCE, A-MMOVMSKPS—Extract Packed Single-Precision Floating-Point Sign MaskMOVMSKPS—Extract Packed Single-Precision F

Strona 661

3-648 Vol. 2A MOVMSKPS—Extract Packed Single-Precision Floating-Point Sign MaskINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[b

Strona 662

Vol. 2A 3-649INSTRUCTION SET REFERENCE, A-MMOVNTDQ—Store Double Quadword Using Non-Temporal HintMOVNTDQ—Store Double Quadword Using Non-Temporal HintD

Strona 663

3-650 Vol. 2A MOVNTDQ—Store Double Quadword Using Non-Temporal HintINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) For an illegal memory

Strona 664

Vol. 2A 3-651INSTRUCTION SET REFERENCE, A-MMOVNTDQ—Store Double Quadword Using Non-Temporal Hint#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[bit 9] = 0.If C

Strona 665 - Vol. 2A 3-619

3-652 Vol. 2A MOVNTI—Store Doubleword Using Non-Temporal HintINSTRUCTION SET REFERENCE, A-MMOVNTI—Store Doubleword Using Non-Temporal HintDescriptionM

Strona 666

Vol. 2A 3-653INSTRUCTION SET REFERENCE, A-MMOVNTI—Store Doubleword Using Non-Temporal HintProtected Mode Exceptions#GP(0) For an illegal memory operan

Strona 667

Vol. 2A viiCONTENTSPAGEFLD—Load Floating Point Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3

Strona 668

3-24 Vol. 2A AAM—ASCII Adjust AX After MultiplyINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#DE If an immediate value of 0 is used.#UD If t

Strona 669

3-654 Vol. 2A MOVNTPD—Store Packed Double-Precision Floating-Point Values Using Non-TemporalHintINSTRUCTION SET REFERENCE, A-MMOVNTPD—Store Packed Dou

Strona 670

Vol. 2A 3-655INSTRUCTION SET REFERENCE, A-MMOVNTPD—Store Packed Double-Precision Floating-Point Values Using Non-Temporal HintProtected Mode Exception

Strona 671

3-656 Vol. 2A MOVNTPD—Store Packed Double-Precision Floating-Point Values Using Non-TemporalHintINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1

Strona 672

Vol. 2A 3-657INSTRUCTION SET REFERENCE, A-MMOVNTPS—Store Packed Single-Precision Floating-Point Values Using Non-Temporal HintMOVNTPS—Store Packed Sin

Strona 673

3-658 Vol. 2A MOVNTPS—Store Packed Single-Precision Floating-Point Values Using Non-TemporalHintINSTRUCTION SET REFERENCE, A-MProtected Mode Exception

Strona 674

Vol. 2A 3-659INSTRUCTION SET REFERENCE, A-MMOVNTPS—Store Packed Single-Precision Floating-Point Values Using Non-Temporal Hint#UD If CR0.EM[bit 2] = 1

Strona 675

3-660 Vol. 2A MOVNTQ—Store of Quadword Using Non-Temporal HintINSTRUCTION SET REFERENCE, A-MMOVNTQ—Store of Quadword Using Non-Temporal HintDescriptio

Strona 676

Vol. 2A 3-661INSTRUCTION SET REFERENCE, A-MMOVNTQ—Store of Quadword Using Non-Temporal Hint#SS(0) For an illegal address in the SS segment. #PF(fault

Strona 677

3-662 Vol. 2A MOVNTQ—Store of Quadword Using Non-Temporal HintINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1.If CPUID.01H:EDX.SSE[bit 25] = 0.

Strona 678

Vol. 2A 3-663INSTRUCTION SET REFERENCE, A-MMOVQ—Move QuadwordMOVQ—Move QuadwordDescriptionCopies a quadword from the source operand (second operand) t

Strona 679

Vol. 2A 3-25INSTRUCTION SET REFERENCE, A-MAAS—ASCII Adjust AL After SubtractionAAS—ASCII Adjust AL After SubtractionDescriptionAdjusts the result of t

Strona 680

3-664 Vol. 2A MOVQ—Move QuadwordINSTRUCTION SET REFERENCE, A-MDEST[127:64] ← 0000000000000000H;Flags AffectedNone.SIMD Floating-Point ExceptionsNone.P

Strona 681

Vol. 2A 3-665INSTRUCTION SET REFERENCE, A-MMOVQ—Move QuadwordVirtual-8086 Mode ExceptionsSame exceptions as in real address mode.#PF(fault-code) If a

Strona 682

3-666 Vol. 2A MOVQ2DQ—Move Quadword from MMX Technology to XMM RegisterINSTRUCTION SET REFERENCE, A-MMOVQ2DQ—Move Quadword from MMX Technology to XMM

Strona 683 - Vol. 2A 3-637

Vol. 2A 3-667INSTRUCTION SET REFERENCE, A-MMOVQ2DQ—Move Quadword from MMX Technology to XMM RegisterVirtual-8086 Mode ExceptionsSame exceptions as in

Strona 684

3-668 Vol. 2A MOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from String to StringINSTRUCTION SET REFERENCE, A-MMOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from St

Strona 685

Vol. 2A 3-669INSTRUCTION SET REFERENCE, A-MMOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from String to StringAt the assembly-code level, two forms of this i

Strona 686

3-670 Vol. 2A MOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from String to StringINSTRUCTION SET REFERENCE, A-M(E)SI ← (E)SI – 1; (E)DI ← (E)DI – 1; FI;ELSE

Strona 687

Vol. 2A 3-671INSTRUCTION SET REFERENCE, A-MMOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from String to String(R|E)SI ← (R|E)SI + 4; (R|E)DI ← (R|E)DI + 4; F

Strona 688

3-672 Vol. 2A MOVS/MOVSB/MOVSW/MOVSD/MOVSQ—Move Data from String to StringINSTRUCTION SET REFERENCE, A-MVirtual-8086 Mode Exceptions#GP(0) If a memory

Strona 689

Vol. 2A 3-673INSTRUCTION SET REFERENCE, A-MMOVSD—Move Scalar Double-Precision Floating-Point ValueMOVSD—Move Scalar Double-Precision Floating-Point Va

Strona 690

3-26 Vol. 2A AAS—ASCII Adjust AL After SubtractionINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#UD If the LOCK prefix is used.Real-Address

Strona 691

3-674 Vol. 2A MOVSD—Move Scalar Double-Precision Floating-Point ValueINSTRUCTION SET REFERENCE, A-MMOVSD void _mm_store_sd (double *p, __m128d a)MOVSD

Strona 692

Vol. 2A 3-675INSTRUCTION SET REFERENCE, A-MMOVSD—Move Scalar Double-Precision Floating-Point Value64-Bit Mode Exceptions#SS(0) If a memory address ref

Strona 693

3-676 Vol. 2A MOVSHDUP—Move Packed Single-FP High and DuplicateINSTRUCTION SET REFERENCE, A-MMOVSHDUP—Move Packed Single-FP High and DuplicateDescript

Strona 694

Vol. 2A 3-677INSTRUCTION SET REFERENCE, A-MMOVSHDUP—Move Packed Single-FP High and DuplicateOperationIF (Source == m128) THEN (* Load instruction *)x

Strona 695

3-678 Vol. 2A MOVSHDUP—Move Packed Single-FP High and DuplicateINSTRUCTION SET REFERENCE, A-MReal Address Mode ExceptionsGP(0) If any part of the ope

Strona 696

Vol. 2A 3-679INSTRUCTION SET REFERENCE, A-MMOVSLDUP—Move Packed Single-FP Low and DuplicateMOVSLDUP—Move Packed Single-FP Low and DuplicateDescription

Strona 697 - #UD If CR0.EM[bit 2] = 1

3-680 Vol. 2A MOVSLDUP—Move Packed Single-FP Low and DuplicateINSTRUCTION SET REFERENCE, A-MOperationIF (Source == m128) THEN (* Load instruction *)x

Strona 698

Vol. 2A 3-681INSTRUCTION SET REFERENCE, A-MMOVSLDUP—Move Packed Single-FP Low and DuplicateReal Address Mode ExceptionsGP(0) If any part of the opera

Strona 699

3-682 Vol. 2A MOVSS—Move Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMOVSS—Move Scalar Single-Precision Floating-Point

Strona 700 - Non-Temporal Hint

Vol. 2A 3-683INSTRUCTION SET REFERENCE, A-MMOVSS—Move Scalar Single-Precision Floating-Point ValuesMOVSS void _mm_store_ss(float * p, __m128 a)MOVSS _

Strona 701

Vol. 2A 3-27INSTRUCTION SET REFERENCE, A-MADC—Add with CarryADC—Add with CarryOpcode Instruction 64-Bit ModeCompat/Leg ModeDescription14 ib ADC AL, im

Strona 702

3-684 Vol. 2A MOVSS—Move Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M64-Bit Mode Exceptions#SS(0) If a memory address r

Strona 703

Vol. 2A 3-685INSTRUCTION SET REFERENCE, A-MMOVSX/MOVSXD—Move with Sign-ExtensionMOVSX/MOVSXD—Move with Sign-ExtensionDescriptionCopies the contents of

Strona 704

3-686 Vol. 2A MOVSX/MOVSXD—Move with Sign-ExtensionINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#GP(0) If a memory operand effective address

Strona 705

Vol. 2A 3-687INSTRUCTION SET REFERENCE, A-MMOVUPD—Move Unaligned Packed Double-Precision Floating-Point ValuesMOVUPD—Move Unaligned Packed Double-Prec

Strona 706

3-688 Vol. 2A MOVUPD—Move Unaligned Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MProtected Mode Exceptions#AC(0) If alig

Strona 707

Vol. 2A 3-689INSTRUCTION SET REFERENCE, A-MMOVUPD—Move Unaligned Packed Double-Precision Floating-Point Values#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR[

Strona 708

3-690 Vol. 2A MOVUPS—Move Unaligned Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMOVUPS—Move Unaligned Packed Single-Pre

Strona 709 - MOVQ—Move Quadword

Vol. 2A 3-691INSTRUCTION SET REFERENCE, A-MMOVUPS—Move Unaligned Packed Single-Precision Floating-Point ValuesProtected Mode Exceptions#AC(0) If align

Strona 710

3-692 Vol. 2A MOVUPS—Move Unaligned Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If CR0.EM[bit 2] = 1.If CR4.OSFXSR

Strona 711

Vol. 2A 3-693INSTRUCTION SET REFERENCE, A-MMOVZX—Move with Zero-ExtendMOVZX—Move with Zero-ExtendDescriptionCopies the contents of the source operand

Strona 712

3-28 Vol. 2A ADC—Add with CarryINSTRUCTION SET REFERENCE, A-MDescriptionAdds the destination operand (first operand), the source operand (second opera

Strona 713

3-694 Vol. 2A MOVZX—Move with Zero-ExtendINSTRUCTION SET REFERENCE, A-M#SS(0) If a memory operand effective address is outside the SS segment limit.#P

Strona 714 - String to String

Vol. 2A 3-695INSTRUCTION SET REFERENCE, A-MMUL—Unsigned MultiplyMUL—Unsigned MultiplyDescriptionPerforms an unsigned multiplication of the first opera

Strona 715

3-696 Vol. 2A MUL—Unsigned MultiplyINSTRUCTION SET REFERENCE, A-MOperationIF (Byte operation)THEN AX ← AL ∗ SRC;ELSE (* Word or doubleword operation *

Strona 716

Vol. 2A 3-697INSTRUCTION SET REFERENCE, A-MMUL—Unsigned Multiply#SS(0) If a memory operand effective address is outside the SS segment limit.#PF(fault

Strona 717

3-698 Vol. 2A MULPD—Multiply Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMULPD—Multiply Packed Double-Precision Floatin

Strona 718

Vol. 2A 3-699INSTRUCTION SET REFERENCE, A-MMULPD—Multiply Packed Double-Precision Floating-Point Values#UD If an unmasked SIMD floating-point excepti

Strona 719

3-700 Vol. 2A MULPD—Multiply Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point except

Strona 720

Vol. 2A 3-701INSTRUCTION SET REFERENCE, A-MMULPS—Multiply Packed Single-Precision Floating-Point ValuesMULPS—Multiply Packed Single-Precision Floating

Strona 721

3-702 Vol. 2A MULPS—Multiply Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#XM If an unmasked SIMD floating-point except

Strona 722

Vol. 2A 3-703INSTRUCTION SET REFERENCE, A-MMULPS—Multiply Packed Single-Precision Floating-Point Values#XM If an unmasked SIMD floating-point excepti

Strona 723

Vol. 2A 3-29INSTRUCTION SET REFERENCE, A-MADC—Add with CarryIf the DS, ES, FS, or GS register is used to access memory and it contains a NULL segment

Strona 724

3-704 Vol. 2A MULSD—Multiply Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MMULSD—Multiply Scalar Double-Precision Floatin

Strona 725

Vol. 2A 3-705INSTRUCTION SET REFERENCE, A-MMULSD—Multiply Scalar Double-Precision Floating-Point Values#UD If an unmasked SIMD floating-point excepti

Strona 726

3-706 Vol. 2A MULSD—Multiply Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point except

Strona 727

Vol. 2A 3-707INSTRUCTION SET REFERENCE, A-MMULSS—Multiply Scalar Single-Precision Floating-Point ValuesMULSS—Multiply Scalar Single-Precision Floating

Strona 728

3-708 Vol. 2A MULSS—Multiply Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point except

Strona 729

Vol. 2A 3-709INSTRUCTION SET REFERENCE, A-MMULSS—Multiply Scalar Single-Precision Floating-Point Values#UD If an unmasked SIMD floating-point excepti

Strona 730

3-710 Vol. 2A MWAIT—Monitor WaitINSTRUCTION SET REFERENCE, A-MMWAIT—Monitor WaitDescriptionMWAIT instruction provides hints to allow the processor to

Strona 731

Vol. 2A 3-711INSTRUCTION SET REFERENCE, A-MMWAIT—Monitor Waitprocessor will exit the state and handle the interrupt. If an SMI caused the processor to

Strona 732

3-712 Vol. 2A MWAIT—Monitor WaitINSTRUCTION SET REFERENCE, A-MNote that if MWAIT is used to enter any of the C-states that are numerically higher than

Strona 733

Vol. 2A 3-713INSTRUCTION SET REFERENCE, A-MMWAIT—Monitor WaitEDX = 0 (* Hints *)IF ( !trigger_store_happened) {MONITOR EAX, ECX, EDXIF ( !trigger_stor

Strona 734

3-30 Vol. 2A ADD—AddINSTRUCTION SET REFERENCE, A-MADD—AddOpcode Instruction 64-Bit Mode Compat/Leg ModeDescription04 ib ADD AL, imm8 Valid Valid Add i

Strona 735

3-714 Vol. 2A MWAIT—Monitor WaitINSTRUCTION SET REFERENCE, A-MCompatibility Mode ExceptionsSame exceptions as in protected mode.64-Bit Mode Exceptions

Strona 736

Vol. 2A 3-31INSTRUCTION SET REFERENCE, A-MADD—AddDescriptionAdds the destination operand (first operand) and the source operand (second operand) and t

Strona 737

3-32 Vol. 2A ADD—AddINSTRUCTION SET REFERENCE, A-M#SS If a memory operand effective address is outside the SS segment limit.#UD If the LOCK prefix is

Strona 738

Vol. 2A 3-33INSTRUCTION SET REFERENCE, A-MADDPD—Add Packed Double-Precision Floating-Point ValuesADDPD—Add Packed Double-Precision Floating-Point Valu

Strona 739 - MOVZX—Move with Zero-Extend

CONTENTSviiiVol. 2APAGEJMP—Jump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Strona 740

3-34 Vol. 2A ADDPD—Add Packed Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point exception an

Strona 741 - MUL—Unsigned Multiply

Vol. 2A 3-35INSTRUCTION SET REFERENCE, A-MADDPD—Add Packed Double-Precision Floating-Point Values#UD If an unmasked SIMD floating-point exception and

Strona 742

3-36 Vol. 2A ADDPS—Add Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MADDPS—Add Packed Single-Precision Floating-Point Val

Strona 743

Vol. 2A 3-37INSTRUCTION SET REFERENCE, A-MADDPS—Add Packed Single-Precision Floating-Point Values#XM If an unmasked SIMD floating-point exception and

Strona 744

3-38 Vol. 2A ADDPS—Add Packed Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#XM If an unmasked SIMD floating-point exception an

Strona 745

Vol. 2A 3-39INSTRUCTION SET REFERENCE, A-MADDSD—Add Scalar Double-Precision Floating-Point ValuesADDSD—Add Scalar Double-Precision Floating-Point Valu

Strona 746

3-40 Vol. 2A ADDSD—Add Scalar Double-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point exception an

Strona 747 - Vol. 2A 3-701

Vol. 2A 3-41INSTRUCTION SET REFERENCE, A-MADDSD—Add Scalar Double-Precision Floating-Point Values#UD If an unmasked SIMD floating-point exception and

Strona 748

3-42 Vol. 2A ADDSS—Add Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-MADDSS—Add Scalar Single-Precision Floating-Point Val

Strona 749 - Vol. 2A 3-703

Vol. 2A 3-43INSTRUCTION SET REFERENCE, A-MADDSS—Add Scalar Single-Precision Floating-Point Values#UD If an unmasked SIMD floating-point exception and

Strona 750

Vol. 2A ixCONTENTSPAGEMOVNTDQ—Store Double Quadword Using Non-Temporal Hint . . . . . . . . . . . . . . . . . 3-649MOVNTI—Store Doubleword Using Non-

Strona 751

3-44 Vol. 2A ADDSS—Add Scalar Single-Precision Floating-Point ValuesINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point exception an

Strona 752

Vol. 2A 3-45INSTRUCTION SET REFERENCE, A-MADDSUBPD—Packed Double-FP Add/SubtractADDSUBPD—Packed Double-FP Add/SubtractDescriptionAdds the double-preci

Strona 753 - Vol. 2A 3-707

3-46 Vol. 2A ADDSUBPD—Packed Double-FP Add/SubtractINSTRUCTION SET REFERENCE, A-MOperationxmm1[63:0] = xmm1[63:0] − xmm2/m128[63:0];xmm1[127:64] = xmm

Strona 754

Vol. 2A 3-47INSTRUCTION SET REFERENCE, A-MADDSUBPD—Packed Double-FP Add/Subtract#UD If CR0.EM[bit 2] = 1.For an unmasked Streaming SIMD Extensions num

Strona 755 - Vol. 2A 3-709

3-48 Vol. 2A ADDSUBPD—Packed Double-FP Add/SubtractINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point exception and CR4.OSXM-MEXCPT

Strona 756 - MWAIT—Monitor Wait

Vol. 2A 3-49INSTRUCTION SET REFERENCE, A-MADDSUBPS—Packed Single-FP Add/SubtractADDSUBPS—Packed Single-FP Add/SubtractDescriptionAdds odd-numbered sin

Strona 757 - MWAIT for Power Management

3-50 Vol. 2A ADDSUBPS—Packed Single-FP Add/SubtractINSTRUCTION SET REFERENCE, A-MOperationxmm1[31:0] = xmm1[31:0] − xmm2/m128[31:0];xmm1[63:32] = xmm1

Strona 758

Vol. 2A 3-51INSTRUCTION SET REFERENCE, A-MADDSUBPS—Packed Single-FP Add/Subtract#XM For an unmasked Streaming SIMD Extensions numeric excep-tion, CR4

Strona 759

3-52 Vol. 2A ADDSUBPS—Packed Single-FP Add/SubtractINSTRUCTION SET REFERENCE, A-M#UD If an unmasked SIMD floating-point exception and CR4.OSXM-MEXCPT

Strona 760

Vol. 2A 3-53INSTRUCTION SET REFERENCE, A-MAND—Logical ANDAND—Logical ANDOpcode Instruction 64-Bit ModeComp/Leg ModeDescription24 ib AND AL, imm8 Valid

Komentarze do niniejszej Instrukcji

Brak uwag