2 virtual-8086 mode, See figure 15-2) – Intel IA-32 User Manual

Page 557

Advertising
background image

Vol. 3A 15-7

8086 EMULATION

(For backward compatibility to Intel 8086 processors, the default base address and limit of the
interrupt vector table should not be changed.)

Table 15-1 shows the interrupt and exception vectors that can be generated in real-address mode
and virtual-8086 mode, and in the Intel 8086 processor. See Chapter 5, “Interrupt and Exception
Handling”, for a descrip
tion of the exception conditions.

15.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 15.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 inter-
rupt 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 concurrently with normal protected-mode
tasks, using the processor’s multitasking facilities.

Figure 15-2. Interrupt Vector Table in Real-Address Mode

0

2

4

8

12

0

15

Segment Selector

Offset

* Interrupt vector number 0 selects entry 0

Interrupt Vector 0*

Entry 1

Entry 2

Entry 3

Up to Entry 255

IDTR

(called “interrupt vector 0”) in the interrupt
vector table. Interrupt vector 0 in turn
points to the start of the interrupt handler
for interrupt 0.

Advertising