2016基础学习第二课opcode相关intel老手册_第1页
2016基础学习第二课opcode相关intel老手册_第2页
2016基础学习第二课opcode相关intel老手册_第3页
2016基础学习第二课opcode相关intel老手册_第4页
2016基础学习第二课opcode相关intel老手册_第5页
已阅读5页,还剩848页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Intel Architecture Software DevelopersManualVolume 2: Instruction Set ReferenceNOTE: The Intel Architecture Software Developers Manual consists of three volumes: Basic Architecture, Order Number 243190; Instruction SetReference, Order Number 243191; and the System ProgramGuide,Order Number 243192.Pl

2、ease refer to all three volumes when evaluating your design needs.1999Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intels Te

3、rms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of

4、any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications.Intel may make changes to specifications and product descriptions at any time, without notice.Designers must not rely on the absence or charact

5、eristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.Intels Intel Architecture processors (e.g., Pentium, Pentium II, Pe

6、ntium III, and Pentium Pro processors) may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.Contact your local Intel sales office or your distributor to obtain the latest speci

7、fications and before placing your product order.Copies of documents which have an ordering number and are referenced in this document, or other Intel literature,may be obtained by calling 1-, or by visiting Intels literature center at .COPYRIGHT INTEL CORPORATION 1999*THIRD-PARTY BRANDS AND NAMES AR

8、E THE PROPERTY OF THEIR RESPECTIVE OWNERS.TABLE OF CONTENTSCHAPTER 1ABOUT THIS MANUAL1.1.OVERVIEW OF THE INTEL ARCHITECTURE SOFTWARE DEVELOPERS MANUAL,VOLUME 2: INSTRUCTION SET REFERENCE1-1OVERVIEW OF THE INTEL ARCHITECTURE SOFTWARE DEVELOPERS MANUAL,1.2.VOLUME 1: BASIC ARCHITECTURE1-21.3.OVERVIEW O

9、F THE INTEL ARCHITECTURE SOFTWARE DEVELOPERS MANUAL,VOLUME 3: SYSTEM PROGRAMGUIDE1-.....1.5.NOTATIONAL CONVENTIONS1-5Bit and Byte Order1-5Bits and Software Compatibility1-6Instruction Operands1-7Hexadecimal and Binary Numbers1-7Segmented Addressing1-7Exceptions1-8

10、RELATED LITERATURE1-9CHAPTER 2 INSTRUCTION FORMAT2.1.GENERAL INSTRUCTION FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-12-12-22-22-32-..2.6.INSTRUCTION PREFIXES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .OPCODE

11、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MODR/M AND SIB BYTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DISPLACEMENT AND IMMEDIATE BYTES . . . . . . . . . . . . . . . . . . . . . . . .

12、. . . . . .ADDRESSING-MODE ENCODING OF MODR/M AND SIB BYTES . . . . . . . . . . . .CHAPTER 3INSTRUCTION SET REFERENCE3.1.INTERPRETING THE INSTRUCTION REFERENCE PAGES . . . . . . . . . . . . . . . .3-............7.3.

13、.0.Instruction Format3-1Opcode Column3-2Instruction Column3-3Description Column3-5Description3-5Operation3-6Intel C/C+ Compiler Intrinsics Equivalent3-9The Intrinsics API3-9MMX Technology Intrinsics3-10SIMD Floating-Point Intrinsics3-10Flags Affected3-11FPU Flags Affected3-12Protected

14、Mode Exceptions3-12Real-Address Mode Exceptions3-12Virtual-8086 Mode Exceptions.3-13Floating-Point Exceptions3-14SIMD Floating-Point Exceptions - StreaSIMD Extensions Only3-14iiiTABLE OF CONTENTS3.2.INSTRUCTION REFERENCE3-16AAAASCII Adjust After Addition3-17AADASCII Adjust AX Before Division3-18AAMA

15、SCII Adjust AX After Multiply3-19AASASCII Adjust AL After Subtraction3-20ADCAdd with Carry3-21ADDAdd3-23ADDPSPacked Single-FP Add3-25ADDSSScalar Single-FP Add3-27ANDLogical AND3-30ANDNPSBit-wise Logical And Not For Single-FP3-32ANDPSBit-wise Logical And For Single FP3-34ARPLAdjust RPL Field of Segme

16、nt Selector3-36BOUNDCheck Array IndexBounds3-38BSFBit Scan Forward3-40BSRBit Scan Reverse3-42BSWAPByte Swap3-44BTBit Test3-45BTCBit Test and Complement3-47BTRBit Test and Reset3-49BTSBit Test and Set3-51CALLCall Procedure3-53CBW/CWDEConvert Byte to Word/Convert Word to Doubleword3-64CDQConvert Doubl

17、e to Quad3-65CLCClear Carry Flag3-66CLDClear Direction Flag3-67CLIClear Interrupt Flag3-68CLTSClear Task-Switched Flag in CR03-70CMCComplement Carry Flag3-71CMOVccConditional Move3-72CMPCompare Two Operands3-76CMPPSPacked Single-FP Compare3-78CMPS/CMPSB/CMPSW/CMPSDCompare String Operands3-87CMPSSSca

18、lar Single-FP Compare3-90CMPXCHGCompare and Exchange3-100CMPXCHG8BCompare and Exchange 8 Bytes3-102COMISSScalar Ordered Single-FP Compare and Set EFLAGS3-104CPUIDCPU Identification3-111CVTPI2PSPacked Signed INT32 to Packed Single-FP Conversion3-119CVTPS2PIPacked Single-FP to Packed INT32 Conversion3

19、-123CVTSI2SSScalar Signed INT32 to Single-FP Conversion3-127CVTSS2SIScalar Single-FP to Signed INT32 Conversion3-130CVTTPS2PIPacked Single-FP to Packed INT32 Conversion (Truncate)3-133CVTTSS2SIScalar Single-FP to Signed INT32 Conversion (Truncate)3-137CWD/CDQConvert Word to Doubleword/Convert Double

20、wordto Quadword3-141CWDEConvert Word to Doubleword3-142ivTABLE OF CONTENTSDAADecimal Adjust AL after Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DASDecimal Adjust AL after Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DECDecrement by 1 . . .

21、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DIVUnsigned Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DIVPSPacked Single-FP Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22、 . .DIVSSScalar Single-FP Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .EMMSEmpty MMX State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ENTERMake Stack Frame for Procedure Parameters . . . . . . . . . . . . . . . . . . . . .

23、F2XM1Compute 2x1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FABSAbsolute Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FADD/FADDP/FIADDAdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24、 . . . . . . . . . . .FBLDLoad Binary Coded Decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FBSTPStore BCD Integer and Pop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FCHSChange Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25、. . . . . . . . . . . . . . . . . .FCLEX/FNCLEXClear Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FCMOVccFloating-Point Conditional Move. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FCOM/FCOMP/FCOMPPCompare Real . . . . . . . . . . . . . . . . . . .

26、. . . . . . . . . . . .FCOMI/FCOMIP/ FUCOMI/FUCOMIPCompare Real and Set EFLAGS . . . . . . .FCOSCosine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FDECSTPDecrement Stack-Top Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27、. .FDIV/FDIVP/FIDIVDivide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FDIVR/FDIVRP/FIDIVRReverse Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1433-1453-1463-1483-1513-1543-1563-1583-1613-1633-1653-1693-1713-1743-1763-1783-1803-1833-

28、1863-1883-1893-1933-1973-1983-2003-2023-2033-2053-2083-2103-2123-2143-2163-2203-2213-2233-2263-2293-2313-2323-2353-2383-2403-2423-2443-2463-249FFloating-Point Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FICOM/FICOMPCompare Integer. . . . . . . . . . . . . . . . . .

29、. . . . . . . . . . . . . . . . . . .FILDLoad Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FINCSTPIncrement Stack-Top Pointer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FINIT/FNINITInitialize Floating-Point Unit. . . .

30、. . . . . . . . . . . . . . . . . . . . . . . . . . .FIST/FISTPStore Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FLDLoad Real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FLD1/FLDL2T/FLDL2E/FLDP

31、I/FLDLG2/FLDLN2/FLDZLoad Constant . . . . . . . .FLDCWLoad Control Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FLDENVLoad FPU Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FMUL/FMULP/FIMULMultiply . . . . . . . . . .

32、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FNOPNo Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FPATANPartial Arctangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FPREMPartial Remainde

33、r. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FPREM1Partial Remainder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FPTANPartial Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34、 .FRNDINTRound to Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FRSTORRestore FPU State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FSAVE/FNSAVEStore FPU State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35、 . . . . . . .FSCALEScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FSINSine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FSINCOSSine and Cosine . . . . . . . . . . . . . . .

36、 . . . . . . . . . . . . . . . . . . . . . . . . . . .FSQRTSquare Root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FST/FSTPStore Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FSTCW/FNSTCWStore Control

37、Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vTABLE OF CONTENTSFSTENV/FNSTENVStore FPU Environment3-251FSTSW/FNSTSWStore Status Word3-254FSUB/FSUBP/FISUBSubtract3-257FSUBR/FSUBRP/FISUBRReverse Subtract3-261FTSTTEST3-265FUCOM/FUCOMP/FUCOMPPUnordered Compare Real3-267FWAITWait

38、3-270FXAMExamine3-271FXCHExchange Register Contents3-273FXRSTORRestore FP and MMX State andStreaSIMD Extension State3-275FXSAVEStore FP and MMX State and StreaSIMD Extension State3-279FXTRACTExtract Exponent and Significand3-285FYL2XCompute y * log2x3-287FYL2XP1Compute y * log2(x +1)3-289HLTHalt3-29

39、1IDIVSigned Divide3-292IMULSigned Multiply3-295INInput from Port3-299INCIncrement by 13-301INS/INSB/INSW/INSDInput from Port to String3-303INT n/INTO/INT 3Call to Interrupt Procedure3-306INVDInvalidate Internal Caches3-318INVLPGInvalidate TLB Entry3-320IRET/IRETDInterrupt Return3-321JccJump if Condi

40、tion Is Met3-329JMPJump3-333LAHFLoad Status Flags into AH Register3-341LARLoad Access Rights Byte3-342LDMXCSRLoad StreaSIMD Extension Control/Status3-345LDS/LES/LFS/LGS/LSSLoad Far Pointer3-349LEALoad Effective Address3-353LEAVEHigh Level Procedure Exit3-355LESLoad Full Pointer3-357LFSLoad Full Poin

41、ter3-358LGDT/LIDTLoad Global/Interrupt Descriptor Table Register3-359LGSLoad Full Pointer3-361LLDTLoad Local Descriptor Table Register3-362LIDTLoad Interrupt Descriptor Table Register3-364LMSWLoad Machine Status Word3-365LOCKAssert LOCK# Signal Prefix3-367LODS/LODSB/LODSW/LODSDLoad String3-369LOOP/L

42、OOPccLoop According to ECX Counter3-372LSLLoad Segment Limit3-375LSSLoad Full Pointer3-379LTRLoad Task Register3-380MASKMOVQByte Mask Write3-382viTABLE OF CONTENTSMAXPSPacked Single-FP Maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MAXSSScalar Single-FP Maximum . . . . .

43、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MINPSPacked Single-FP Minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MINSSScalar Single-FP Minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVMove . . . . . . . . . . . . . . . . .

44、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVMove to/from Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVMove to/from Debug Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVAPSMove Aligned Fou

45、r Packed Single-FP. . . . . . . . . . . . . . . . . . . . . . . . . .MOVDMove 32 Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVHLPS High to Low Packed Single-FP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVHPSMove High Packed Sin

46、gle-FP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVLHPSMove Low to High Packed Single-FP . . . . . . . . . . . . . . . . . . . . . . . . .MOVLPSMove Low Packed Single-FP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVMSKPSMove Mask To Integer . . . . . . . .

47、 . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVNTPSMove Aligned Four Packed Single-FP Non Temporal. . . . . . . . . . . . .MOVNTQMove 64 Bits Non Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVQMove 64 Bits . . . . . . . . . . . . . . . . . . . . . . . . . . .

48、 . . . . . . . . . . . . . . . . . . . .MOVS/MOVSB/MOVSW/MOVSDMove Data from String to String . . . . . . . . . . .MOVSSMove Scalar Single-FP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MOVSXMove with Sign-Extension . . . . . . . . . . . . . . . . . . . . . . . . . . .

49、 . . . . . . . . .MOVUPSMove Unaligned Four Packed Single-FP . . . . . . . . . . . . . . . . . . . . . . .MOVZXMove with Zero-Extend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MULUnsigned Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50、 . . . . . . . . .MULPSPacked Single-FP Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MULSSScalar Single-FP Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .NEGTwos Complement Negation . . . . . . . . . . . . . . . . . . . . . . . .

51、. . . . . . . . . . . .NOPNo Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .NOTOnes Complement Negation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ORLogical Inclusive OR . . . . . . . . . . . . . . . . . . . . . .

52、 . . . . . . . . . . . . . . . . . . . . . .ORPSBit-wise Logical OR for Single-FP Data . . . . . . . . . . . . . . . . . . . . . . . . . . .OUTOutput to Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .OUTS/OUTSB/OUTSW/OUTSDOutput String to Port . .

53、 . . . . . . . . . . . . . . . . . . .PACKSSWB/PACKSSDWPack with Signed Saturation . . . . . . . . . . . . . . . . . . . .PACKUSWBPack with Unsigned Saturation. . . . . . . . . . . . . . . . . . . . . . . . . . . . .PADDB/PADDW/PADDDPacked Add . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54、. . . . .PADDSB/PADDSWPacked Add with Saturation . . . . . . . . . . . . . . . . . . . . . . . . .PADDUSB/PADDUSWPacked Add Unsigned with Saturation. . . . . . . . . . . . . . .PANDLogical AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PANDNLogical

55、 AND NOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PAVGB/PAVGWPacked Average. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PCMPEQB/PCMPEQW/PCMPEQDPacked Compare for Equal . . . . . . . . . . . . .PCMPGTB/PCMPGTW/PCMPGTDPacked Compare for Greater Than . . . . . . .PEXTRWExtract Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PINSRWInsert Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PMADDWDPacked Multiply and Add .

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论