Intel 253668-032US User Manual

Page of 806
17-8   Vol. 3
8086 EMULATION
17.2 VIRTUAL-8086 
MODE
Virtual-8086 mode is actually a special type of a task that runs in protected mode. 
When the operating-system or executive switches to a virtual-8086-mode task, the 
processor emulates an Intel 8086 processor. The execution environment of the 
processor while in the 8086-emulation state is the same as is described in Section 
17.1, “Real-Address Mode”
 for real-address mode, including the extensions. The 
major difference between the two modes is that in virtual-8086 mode the 8086 
emulator uses some protected-mode services (such as the protected-mode interrupt 
and exception-handling and paging facilities).
As in real-address mode, any new or legacy program that has been assembled 
and/or compiled to run on an Intel 8086 processor will run in a virtual-8086-mode 
task. And several 8086 programs can be run as virtual-8086-mode tasks concur-
rently with normal protected-mode tasks, using the processor’s multitasking 
facilities.
Table 17-1.  Real-Address Mode Exceptions and Interrupts 
Vector 
No.
Description
Real-Address 
Mode
Virtual-8086 
Mode
Intel 8086 
Processor
 0
Divide Error (#DE)
Yes
Yes
Yes
 1
Debug Exception (#DB)
Yes
Yes
No
 2
NMI Interrupt
Yes
Yes
Yes
 3
Breakpoint (#BP)
Yes
Yes
Yes
 4
Overflow (#OF)
Yes
Yes
Yes
 5
BOUND Range Exceeded (#BR)
Yes
Yes
Reserved
 6
Invalid Opcode (#UD)
Yes
Yes
Reserved
 7
Device Not Available (#NM)
Yes
Yes
Reserved
 8
Double Fault (#DF)
Yes
Yes
Reserved
 9
(Intel reserved. Do not use.)
Reserved
Reserved
Reserved
10
Invalid TSS (#TS)
Reserved
Yes
Reserved
11
Segment Not Present (#NP)
Reserved
Yes
Reserved
12
Stack Fault (#SS)
Yes
Yes
Reserved
13
General Protection (#GP)*
Yes
Yes
Reserved
14
Page Fault (#PF)
Reserved
Yes
Reserved
15
(Intel reserved. Do not use.)
Reserved
Reserved
Reserved
16
Floating-Point Error (#MF)
Yes
Yes
Reserved
17
Alignment Check (#AC)
Reserved
Yes
Reserved
18
Machine Check (#MC)
Yes
Yes
Reserved