Opentopia Directory Encyclopedia Tools

LOADALL

Encyclopedia : L : LO : LOA : LOADALL


LOADALL is the common name for two different, undocumented machine instructions of Intel 80286 and Intel 80386 processors, which allows access to areas normally outside of the IA-32 API scope, like descriptor cache registers. The LOADALL for 286 processors is encoded 0Fh 05h, while the LOADALL for 386 processors is 0Fh 07h.

LOADALL notably allows access to all memory from real mode, without temporarily switching the processor into protected mode.

Programs such as RAMDRIVE (ram disk in MS-DOS), AboveDisk (a commercial package by Above Software which converted hard disk or extended memory into expanded memory), and OS/2 used LOADALL. Examination of the virtual machine monitor code in Windows/386 2.1 shows it uses both the 286 and the much less documented 386 variant.

Another interesting usage of LOADALL, signalled in The Design of OS/2 book, would be to allow running former real mode programs in 16-bit protected mode, catching the resulting General Protection Faults and using LOADALL in order to load descriptor cache registers in such a way that the DOS program would have the illusion of being able to load any value into segment registers and to perform "segment arithmetic". However, this idea has been abandoned when it was noticed that some early 80286 processors were not able to recover from the GPF exception, because the value of the CX register was lost. As a result, OS/2 1.x ran DOS programs in real-mode, using either the keyboard controller or some PS/2-specific motherboard features in order to reset the processor from protected mode where native OS/2 1.x programs ran back to real mode, something which could not be accomplished using machine instructions, which only allowed switching in the opposite direction.

External links

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: