ix
TABLE OF CONTENTS
SHUFPSShuffle Single-FP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-646
SIDTStore Interrupt Descriptor Table Register. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-651
SLDTStore Local Descriptor Table Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-652
SMSWStore Machine Status Word. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-654
SQRTPSPacked Single-FP Square Root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-656
SQRTSSScalar Single-FP Square Root. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-659
STCSet Carry Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-662
STDSet Direction Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-663
STISet Interrupt Flag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-664
STMXCSRStore Streaming SIMD Extension Control/Status . . . . . . . . . . . . . . . . 3-666
STOS/STOSB/STOSW/STOSDStore String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-668
STRStore Task Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-671
SUBSubtract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-673
SUBPSPacked Single-FP Subtract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-675
SUBSSScalar Single-FP Subtract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-678
SYSENTERFast Transition to System Call Entry Point . . . . . . . . . . . . . . . . . . . . 3-681
SYSEXITFast Transition from System Call Entry Point . . . . . . . . . . . . . . . . . . . . 3-685
TESTLogical Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-688
UCOMISSUnordered Scalar Single-FP compare and set EFLAGS. . . . . . . . . . . 3-690
UD2Undefined Instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-697
UNPCKHPSUnpack High Packed Single-FP Data. . . . . . . . . . . . . . . . . . . . . . . . 3-698
UNPCKLPSUnpack Low Packed Single-FP Data . . . . . . . . . . . . . . . . . . . . . . . . 3-701
VERR/VERWVerify a Segment for Reading or Writing. . . . . . . . . . . . . . . . . . . . . 3-704
WAIT/FWAITWait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-707
WBINVDWrite Back and Invalidate Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-708
WRMSRWrite to Model Specific Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-710
XADDExchange and Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-712
XCHGExchange Register/Memory with Register . . . . . . . . . . . . . . . . . . . . . . . . . 3-714
XLAT/XLATBTable Look-up Translation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-716
XORLogical Exclusive OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-718
XORPSBit-wise Logical Xor for Single-FP Data. . . . . . . . . . . . . . . . . . . . . . . . . . 3-720
APPENDIX A
OPCODE MAP
A.1.KEY TO ABBREVIATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
A.1.1.Codes for Addressing Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
A.1.2.Codes for Operand Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.1.3.Register Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.2.OPCODE LOOK-UP EXAMPLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.2.1.One-Byte Opcode Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
A.2.2.Two-Byte Opcode Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
A.2.3.Opcode Map Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
A.2.4.Opcode Map Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5
A.2.5.Opcode Extensions For One- And Two-byte Opcodes . . . . . . . . . . . . . . . . . . . A-10
A.2.6.Escape Opcode Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
A.2.6.1.Opcodes with ModR/M Bytes in the 00H through BFH Range. . . . . . . . . . . A-12
A.2.6.2.Opcodes with ModR/M Bytes outside the 00H through BFH Range. . . . . . . A-12
A.2.6.3.Escape Opcodes with D8 as First Byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
A.2.6.4.Escape Opcodes with D9 as First Byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14