
AMD-K5 Processor
71
21062E/0—June 1997
Preliminary Information
Tables 23 through 27 show the effects, in various x86-processor
modes, of instructions that read or write the IF and VIF flag.
The column headings in this table include the following values:
I
PE
—Protection Enable bit in CR0 (bit 0)
VM
—Virtual-8086 Mode bit in EFLAGS (bit 17)
VME
—Virtual Mode Extensions bit in CR4 (bit 0)
PVI
—Protected-mode Virtual Interrupts bit in CR4 (bit 1)
IOPL
—I/O Privilege Level bits in EFLAGS (bits 13–12)
Handler CPL
—Code Privilege Level of the interrupt handler
GP(0)
—General-protection exception, with error code = 0
IF
—Interrupt Flag bit in EFLAGS (bit 9)
VIF
—Virtual Interrupt Flag bit in EFLAGS (bit 19)
I
I
I
I
I
I
I
I
Table 22. Virtual-Interrupt Additions to EFLAGS Register
Bit
Mnemonic
Description
Function
20
VIP
Virtual Interrupt
Pending
Set by the operating system (via the EFLAGS image on the stack)
when an external maskable interrupt (INTR) occurs for a
Virtual-8086 program whose VIF bit is cleared. The bit is checked
by the processor when the program subsequently attempts to
set VIF.
When the VME bit in CR4 is set, the VIF bit is modified by the
processor when a Virtual-8086 program running at less privilege
than the IOPL attempts to modify the IF bit. The VIF bit is used by
the operating system to determine whether a maskable interrupt
should be passed on to the program or held pending.
19
VIF
Virtual Interrupt Flag
Table 23.
Instructions that Modify the IF or VIF Flags—Real Mode
TYPE
PE
0
0
0
0
0
VM
0
0
0
0
0
VME
0
0
0
0
0
PVI
0
0
0
0
0
IOPL
—
—
—
—
—
GP(0)
No
No
No
No
No
IF
VIF
—
—
—
—
—
CLI
STI
PUSHF
POPF
IRET
Note:
IF
←
0
IF
←
1
Pushed
Popped
Popped
“—” Not applicable.