From: "Alexei A. Frounze" Newsgroups: comp.os.msdos.djgpp Subject: Re: far pointers Date: Sun, 11 Jun 2000 17:03:04 +0400 Organization: None Lines: 66 Message-ID: <39438E08.CED69BAE@the_messasge_body.com> References: NNTP-Posting-Host: ppp108-186.dialup.mtu-net.ru Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: gavrilo.mtu.ru 960728563 79700 212.188.108.186 (11 Jun 2000 13:02:43 GMT) X-Complaints-To: usenet-abuse AT mtu DOT ru NNTP-Posting-Date: 11 Jun 2000 13:02:43 GMT X-Mailer: Mozilla 4.72 [en] (Win95; I) X-Accept-Language: en,ru To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Eli Zaretskii wrote: [snip] > > Try to avoid reinventing the Intel manual ;-). OKay, let's define it as INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986 states (Chapter 1 Introduction to the 80386, 1.1 Organization of This Manual) and give up: --------------------------8<----------------------------- ... Virtual 8086 mode (also called V86 mode) is a dynamic mode in the sense that the processor can switch repeatedly and rapidly between V86 mode and protected mode. The CPU enters V86 mode from protected mode to execute an 8086 program, then leaves V86 mode and enters protected mode to continue executing a native 80386 program. The features that are available to applications programs in protected mode and to all programs in V86 mode are the same. These features form the content of Part I. The additional features that are available to systems software in protected mode form Part II. Part III explains real-address mode and V86 mode, as well as how to execute a mix of 32-bit and 16-bit programs. ... --------------------------8<----------------------------- Chapter 15 Virtual 8086 Mode: --------------------------8<----------------------------- 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. --------------------------8<----------------------------- :) bye. Alexei A. Frounze ----------------------------------------- E-mail: alexfru [AT] chat [DOT] ru Homepage: http://alexfru.chat.ru Mirror: http://members.xoom.com/alexfru