Volume 3: General-Purpose and System Instructions - Stanford ...
Volume 3: General-Purpose and System Instructions - Stanford ... Volume 3: General-Purpose and System Instructions - Stanford ...
AMD64 Technology 24594 Rev. 3.10 February 2005Table C-1.Differences Between Long Mode and Legacy Mode (continued)Type Subject 64-Bit Mode DifferenceApplies ToCompatibilityMode?x86 Modes Real and virtual-8086 modes not supported yesTask Switching Task switching not supported yes64-bit virtual addressesAddressing4-level paging structuresyesPAE must always be enabledCS, DS, ES, SS segment bases are ignoredSegmentationCS, DS, ES, FS, GS, SS segment limits are ignorednoCS, DS, ES, SS Segment prefixes are ignoredAll pushes are 8 bytes16-bit interrupt and trap gates are illegalSystemProgrammingException andInterrupt Handling32-bit interrupt and trap gates are redefined as 64-bitgates and are expanded to 16 bytesSS is set to null on stack switchyesSS:RSP is pushed unconditionallyAll pushes are 8 bytes16-bit call gates are illegalCall Gates32-bit call gate type is redefined as 64-bit call gate and isexpanded to 16 bytes.yesSS is set to null on stack switchSystem-DescriptorRegistersGDT, IDT, LDT, TR base registers expanded to 64 bitsyesSystem-DescriptorTable Entries andPseudo-descriptorsLGDT and LIDT use expanded 10-byte pseudodescriptors.LLDT and LTR use expanded 16-byte table entries.no452 Appendix C: Differences Between Long Mode and Legacy Mode
24594 Rev. 3.10 February 2005 AMD64 TechnologyAppendix DInstruction Subsets and CPUID Feature SetsTable D-1 is an alphabetical list of the AMD64 instruction set,including the instructions from all five of the instructionsubsets that make up the entire AMD64 instruction-setarchitecture:• Chapter 3, “General-Purpose Instruction Reference.”• Chapter 4, “System Instruction Reference.”• “128-Bit Media Instruction Reference” in Volume 4.• “64-Bit Media Instruction Reference” in Volume 5.• “x87 Floating-Point Instruction Reference” in Volume 5.Several instructions belong to—and are described in—multipleinstruction subsets. Table D-1 shows the minimum currentprivilege level (CPL) required to execute each instruction andthe instruction subset(s) to which the instruction belongs. Foreach instruction subset, the CPUID feature set(s) that enablesthe instruction is shown.D.1 Instruction SubsetsFigure D-1 on page 454 shows the relationship between the fiveinstruction subsets and the CPUID feature sets. Dashed-linepolygons represent the instruction subsets. Circles representthe major CPUID feature sets that enable various classes ofinstructions. (There are a few additional CPUID feature sets,not shown, each of which apply to only a few instructions.)The overlapping of the 128-bit and 64-bit media instructionsubsets indicates that these subsets share some commonmnemonics. However, these common mnemonics either havedistinct opcodes for each subset or they take operands in boththe MMX and XMM register sets.The horizontal axis of Figure D-1 shows how the subsets andCPUID feature sets have evolved over time.Appendix D: Instruction Subsets and CPUID Feature Sets 453
- Page 432 and 433: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 434 and 435: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 436 and 437: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 438 and 439: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 440 and 441: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 442 and 443: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 444 and 445: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 446 and 447: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 448 and 449: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 450 and 451: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 452 and 453: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 454 and 455: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 456 and 457: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 458 and 459: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 460 and 461: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 462 and 463: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 464 and 465: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 466 and 467: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 468 and 469: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 470 and 471: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 472 and 473: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 474 and 475: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 476 and 477: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 478 and 479: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 480 and 481: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 484 and 485: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 486 and 487: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 488 and 489: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 490 and 491: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 492 and 493: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 494 and 495: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 496 and 497: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 498 and 499: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 500 and 501: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 502 and 503: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 504 and 505: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 506 and 507: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 508 and 509: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 510 and 511: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 512 and 513: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 514 and 515: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 516 and 517: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 518 and 519: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 520 and 521: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 522 and 523: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 524 and 525: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 526 and 527: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 528 and 529: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 530 and 531: AMD64 Technology 24594 Rev. 3.10 Fe
24594 Rev. 3.10 February 2005 AMD64 TechnologyAppendix DInstruction Subsets <strong>and</strong> CPUID Feature SetsTable D-1 is an alphabetical list of the AMD64 instruction set,including the instructions from all five of the instructionsubsets that make up the entire AMD64 instruction-setarchitecture:• Chapter 3, “<strong>General</strong>-<strong>Purpose</strong> Instruction Reference.”• Chapter 4, “<strong>System</strong> Instruction Reference.”• “128-Bit Media Instruction Reference” in <strong>Volume</strong> 4.• “64-Bit Media Instruction Reference” in <strong>Volume</strong> 5.• “x87 Floating-Point Instruction Reference” in <strong>Volume</strong> 5.Several instructions belong to—<strong>and</strong> are described in—multipleinstruction subsets. Table D-1 shows the minimum currentprivilege level (CPL) required to execute each instruction <strong>and</strong>the instruction subset(s) to which the instruction belongs. Foreach instruction subset, the CPUID feature set(s) that enablesthe instruction is shown.D.1 Instruction SubsetsFigure D-1 on page 454 shows the relationship between the fiveinstruction subsets <strong>and</strong> the CPUID feature sets. Dashed-linepolygons represent the instruction subsets. Circles representthe major CPUID feature sets that enable various classes ofinstructions. (There are a few additional CPUID feature sets,not shown, each of which apply to only a few instructions.)The overlapping of the 128-bit <strong>and</strong> 64-bit media instructionsubsets indicates that these subsets share some commonmnemonics. However, these common mnemonics either havedistinct opcodes for each subset or they take oper<strong>and</strong>s in boththe MMX <strong>and</strong> XMM register sets.The horizontal axis of Figure D-1 shows how the subsets <strong>and</strong>CPUID feature sets have evolved over time.Appendix D: Instruction Subsets <strong>and</strong> CPUID Feature Sets 453