The 8086 Emulation component makes use of the virtual 8086 mode of the 80386 processor to provide an emulation of the 8086 hardware environment for DOS applications executing in virtual DOS machines. Application instructions which cause interrupts or which cannot be executed in V86 mode are trapped by the OS/2 Version 2.0 operating system kernel and routed to 8086 Emulation, which may process the instruction within itself or re-route it to the appropriate component of MVDM.
For maximum performance, not all interrupts are trapped and routed in this manner. MVDM makes use of the IOPL field in the VDM process's task state segment, and the Descriptor Privilege Level (DPL) field in the interrupt handler's code segment, to allow certain interrupts to be processed in V86 mode. Only when the interrupt handler must execute at a higher privilege level are the interrupts trapped and routed by the operating system to 8086 Emulation. This improves performance by reducing the number of processor mode-switches required.
8086 Emulation also supports the use of the Intel 8086 64KB wraparound feature, allowing access to the 64KB of memory immediately above the 1MB address line. This capability is used by some DOS software such as the LIMA XMS memory extender, which implements its high memory area (HMA) in this region. More detailed information regarding HMA can be found in Memory Extender Support.