Intel ARCHITECTURE IA-32 User Manual Page 599

  • Download
  • Add to my manuals
  • Print
  • Page
    / 636
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 598
Vol. 3A 17-7
IA-32 ARCHITECTURE COMPATIBILITY
VIP (virtual interrupt pending), bit 20.
ID (identification flag), bit 21.
The AC flag (bit 18) was added to the EFLAGS register in the Intel486 processor.
17.15.1 Using EFLAGS Flags to Distinguish Between 32-Bit IA-32
Processors
The following bits in the EFLAGS register that can be used to differentiate between the 32-bit
IA-32 processors:
Bit 18 (the AC flag) can be used to distinguish an Intel386 processor from the P6 family,
Pentium, and Intel486 processors. Since it is not implemented on the Intel386 processor, it
will always be clear.
Bit 21 (the ID flag) indicates whether an application can execute the CPUID instruction.
The ability to set and clear this bit indicates that the processor is a P6 family or Pentium
processor. The CPUID instruction can then be used to determine which processor.
Bits 19 (the VIF flag) and 20 (the VIP flag) will always be zero on processors that do not
support virtual mode extensions, which includes all 32-bit processors prior to the Pentium
processor.
See Chapter 14, “Processor Identification and Feature Determination,” in the
IA-32 Intel® Archi-
tecture Software Developers Manual, Volume 1,
for more information on identifying processors.
17.16. STACK OPERATIONS
This section identifies the differences in stack implementation between the various IA-32
processors.
17.16.1 PUSH SP
The P6 family, Pentium, Intel486, Intel386, and Intel 286 processors push a different value on
the stack for a PUSH SP instruction than the 8086 processor. The 32-bit processors push the
value of the SP register before it is decremented as part of the push operation; the 8086 processor
pushes the value of the SP register after it is decremented. If the value pushed is important,
replace PUSH SP instructions with the following three instructions:
PUSH BP
MOV BP, SP
XCHG BP, [BP]
This code functions as the 8086 processor PUSH SP instruction on the P6 family, Pentium,
Intel486, Intel386, and Intel 286 processors.
Page view 598
1 2 ... 594 595 596 597 598 599 600 601 602 603 604 ... 635 636

Comments to this Manuals

No comments