Intel and compatable CPU's Programming Information

Intel SSE MMX2 KNI documentation

AMD 64 Bit & Opteron resource on this site

Intel Itanium 64 Bit processor

CPU Heat Dissipation Table

Intel 80386 Reference Programmer's Manual

Our Partners:
Purgatorio canto 9 analysis essay write my tok essay for me priced essays from service online

up: Table of Contents
prev: 14.8 Differences From 80286 Real-Address Mode
next: 15.1 Executing 8086 Code

Chapter 15 Virtual 8086 Mode

The 80386 supports execution of one or more 8086, 8088, 80186, or 80188 programs in an 80386 protected-mode environment. An 8086 program runs in this environment as part of a V86 (virtual 8086) task. V86 tasks take advantage of the hardware support of multitasking offered by the protected mode. Not only can there be multiple V86 tasks, each one executing an 8086 program, but V86 tasks can be multiprogrammed with other 80386 tasks.

The purpose of a V86 task is to form a "virtual machine" with which to execute an 8086 program. A complete virtual machine consists not only of 80386 hardware but also of systems software. Thus, the emulation of an 8086 is the result of cooperation between hardware and software:

  • The hardware provides a virtual set of registers (via the TSS), a virtual memory space (the first megabyte of the linear address space of the task), and directly executes all instructions that deal with these registers and with this address space.
  • The software controls the external interfaces of the virtual machine (I/O, interrupts, and exceptions) in a manner consistent with the larger environment in which it executes. In the case of I/O, software can choose either to emulate I/O instructions or to let the hardware execute them directly without software intervention.
Software that helps implement virtual 8086 machines is called a V86 monitor.

15.1 Executing 8086 Code
15.2 Structure of a V86 Task
15.3 Entering and Leaving V86 Mode
15.4 Additional Sensitive Instructions
15.5 Virtual I/O
15.6 Differences From 8086
15.7 Differences From 80286 Real-Address Mode

up: Table of Contents
prev: 14.8 Differences From 80286 Real-Address Mode
next: 15.1 Executing 8086 Code