Intel 64 and IA-32 Architectures Software Developers Manual Volume 3A, System Programming Guide, Part 1

15-26 Vol. 3A
8086 EMULATION
Table 15-2. Software Interrupt Handling Methods While in Virtual-8086 Mode
Method VME IOPL
Bit in
Redir.
Bitmap* Processor Action
103XInterrupt directed to a protected-mode interrupt handler:
Switches to privilege-level 0 stack
Pushes GS, FS, DS and ES onto privilege-level 0 stack
Pushes SS, ESP, EFLAGS, CS and EIP of interrupted task onto
privilege-level 0 stack
Clears VM, RF, NT, and TF flags
If serviced through interrupt gate, clears IF flag
Clears GS, FS, DS and ES to 0
Sets CS and EIP from interrupt gate
20 < 3XInterrupt directed to protected-mode general-protection
exception (#GP) handler.
31< 31Interrupt directed to a protected-mode general-protection
exception (#GP) handler; VIF and VIP flag support for handling
class 2 maskable hardware interrupts.
4131Interrupt directed to protected-mode interrupt handler: (see
method 1 processor action).
5130Interrupt redirected to 8086 program interrupt handler:
Pushes EFLAGS
Pushes CS and EIP (lower 16 bits only)
Clears IF flag
Clears TF flag
Loads CS and EIP (lower 16 bits only) from selected entry in
the interrupt vector table of the current virtual-8086 task
61< 30Interrupt redirected to 8086 program interrupt handler; VIF
and VIP flag support for handling class 2 maskable hardware
interrupts:
Pushes EFLAGS with IOPL set to 3 and VIF copied to IF
Pushes CS and EIP (lower 16 bits only)
Clears the VIF flag
Clears TF flag
Loads CS and EIP (lower 16 bits only) from selected entry in
the interrupt vector table of the current virtual-8086 task
NOTE:
* When set to 0, software interrupt is redirected back to the 8086 program interrupt handler; when
set to 1, interrupt is directed to protected-mode handler.