Virtual 8086 mode

Virtual 8086 mode

In the 80386 microprocessor and later, Virtual 8086 mode, also called virtual real mode or VM86, allows the execution of real mode applications that are incapable of running directly in protected mode.

VM86 mode uses a segmentation scheme identical to that of real mode (for compatibility reasons), and also uses 21-bit addressing — resulting in linear addressing — so it is subject to paging.

Usage

It is used to execute DOS programs in Microsoft Windows/386, Windows 3.x, Windows 9x/Me, and OS/2 2.x and later through Virtual DOS machines, in SCO UNIX through Merge, and in Linux through dosemu.

Protected mode DOS programs, either 16 or 32-bit, do not execute in virtual 8086 mode, but rather in user mode (as long as they are DPMI compatible), so the above emulators actually do more than just supporting the virtual 8086 mode.

Memory addressing

The most common problem by running 8086 code from protected mode is memory addressing which is totally different between protected mode and real mode.As mentioned, by working under VM86 mode the segmentation mechanism returns to work just like under real mode, but the paging mechanism is still active, and it is transparent to the real mode code, thus memory protection is still applicable, and so is the isolation of the address space.

Interrupts

When interrupts (both hardware, software and iret instruction) occur, the processor switches off the VM86 mode and returns to work in full protected mode to handle the interrupt. And before servicing the interrupt, the DS, ES, FS, and GS registers are pushed on the new stack and zeroed.

Virtual-8086 Mode Enhancements Identification

Support of Enhanced Virtual 8086 mode can be identified under Linux by "vme" flag in the /proc/cpuinfo file (Under "flags:" section).

Identification can be generally done also using cpuid instruction, where as result value of 2nd bit (bit no.1, 0x2 in value) in EDX register represents support of Enhanced Virtual 8086 mode.

Applications

Virtual 8086 mode is typically used to implement DOS boxes inside protected mode operating systems. Examples include NTVDM under Windows and DOSEMU for Linux systems.

See also

* IA-32
* x86 architecture
* x86 assembly language


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Virtual 8086 Mode —   (Virtual Mode), eine Betriebsart bei den Mikroprozessoren 80386 und den darauf folgenden Modellen, bei der mehrere Programme parallel laufen, jedes auf einem eigenen virtuellen 8086 Prozessor im Real Mode. Ein solcher virtueller Prozessor… …   Universal-Lexikon

  • Virtual 8086 Mode — Der Betriebsmodus Virtual 8086 Mode wurde mit dem Intel 80386 Prozessor eingeführt. Da damals – im Jahre 1985 – sich Protected Mode Betriebssysteme noch nicht am Markt gegen das Real Mode Betriebssystem DOS durchgesetzt hatten, wurde mit dem… …   Deutsch Wikipedia

  • Virtual Real Mode — Virtual Real Mode,   Synonym für Virtual 8086 Mode …   Universal-Lexikon

  • Virtual DOS machine — (VDM) is Microsoft s technology that allows running legacy DOS and 16 bit Windows programs on Intel 80386 or higher computers when there is already another operating system running and controlling the hardware. Contents 1 Overview 2 NTVDM 3… …   Wikipedia

  • Mode Virtuel 8086 — Le mode virtuel 8086 (en anglais « Virtual 8086 mode ») est un mode d exécution particulier pour les processeurs de la famille x86. Ce mode fut créé avec l apparition du processeur Intel 80386 en 1985 et est disponible sur toutes les… …   Wikipédia en Français

  • Virtual Mode — Virtual Mode,   Virtual 8086 Mode …   Universal-Lexikon

  • Mode virtuel 8086 — Le mode virtuel 8086 en anglais : « Virtual 8086 mode » est un mode d exécution particulier pour les processeurs de la famille x86. Ce mode fut créé avec l apparition du processeur Intel 80386 en 1985 et est disponible sur toutes… …   Wikipédia en Français

  • Virtual Control Program Interface — In computing, the Virtual Control Program Interface (VCPI) is a specification published in 1989 by Phar Lap Software that allows a DOS program to run in protected mode, granting access to many features of the processor not available in real mode …   Wikipedia

  • Virtual memory — This article is about the computational technique. For the TBN game show, see Virtual Memory (game show). Virtual memory combines active RAM and inactive memory in disk form into a large range of contiguous addresses. In computing, virtual memory …   Wikipedia

  • Virtual Machine — virtuelle Maschine in VirtualBox Eine virtuelle Maschine, kurz VM, ist ein virtueller Computer. Auf einem realen Computer können gleichzeitig mehrere virtuelle Maschinen betrieben werden. Virtuelle Maschinen werden als Betriebssystem ausgeführt,… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”