TABLE OF CONTENTS
x
CHAPTER 10
INPUT/OUTPUT
10.1.I/O PORT ADDRESSING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
10.2.I/O PORT HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
10.3.I/O ADDRESS SPACE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
10.3.1.Memory-Mapped I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-2
10.4.I/O INSTRUCTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
10.5.PROTECTED-MODE I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
10.5.1.I/O Privilege Level. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-4
10.5.2.I/O Permission Bit Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-5
10.6.ORDERING I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
CHAPTER 11
PROCESSOR IDENTIFICATION AND FEATURE DETERMINATION
11.1.PROCESSOR IDENTIFICATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.2.IDENTIFICATION OF EARLIER INTEL ARCHITECTURE PROCESSORS . . . . . 11-4
11.3.CPUID INSTRUCTION EXTENSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.3.1.Version Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-5
11.3.2.Control Register Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11-7
APPENDIX A
EFLAGS CROSS-REFERENCE
APPENDIX B
EFLAGS CONDITION CODES
APPENDIX C
FLOATING-POINT EXCEPTIONS SUMMARY
APPENDIX D
SIMD FLOATING-POINT EXCEPTIONS SUMMARY
APPENDIX E
GUIDELINES FOR WRITING FPU
EXCEPTIONS HANDLERS
E.1.ORIGIN OF THE MS-DOS* COMPATIBILITY MODE FOR HANDLING
FPU EXCEPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2
E.2.IMPLEMENTATION OF THE MS-DOS* COMPATIBILITY MODE IN THE INTEL486,
PENTIUM®, AND P6 FAMILY PROCESSORS
E-3
E.2.1.MS-DOS* Compatibility Mode in the Intel486 and Pentium® Processors. . . . E-3
E.2.1.1.Basic Rules: When FERR# Is Generated. . . . . . . . . . . . . . . . . . . . . . . . . . . . E-4
E.2.1.2.Recommended External Hardware to Support the
MS-DOS* Compatibility Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-5
E.2.1.3.No-Wait FPU Instructions Can Get FPU Interrupt in Window. . . . . . . . . . . . . E-7
E.2.2.MS-DOS* Compatibility Mode in the P6 Family Processors. . . . . . . . . . . . . . . . E-9
E.3.RECOMMENDED PROTOCOL FOR MS-DOS* COMPATIBILITY HANDLERS. . E-10
E.3.1.Floating-Point Exceptions and Their Defaults. . . . . . . . . . . . . . . . . . . . . . . . . . E-10
E.3.2.Two Options for Handling Numeric Exceptions. . . . . . . . . . . . . . . . . . . . . . . . . E-11
E.3.2.1.Automatic Exception Handling: Using Masked Exceptions . . . . . . . . . . . . . E-11
E.3.2.2.Software Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-12
E.3.3.Synchronization Required for Use of FPU Exception Handlers . . . . . . . . . . . . E-14