LOADALL

LOADALL

LOADALL is the common name for two different, undocumented machine instructions of Intel 80286 and Intel 80386 processors, which allow 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.

Both variants - as the name implies - load all CPU internal registers in one operation. LOADALL had the unique ability to set up the visible part of the segment registers (selector) independently of their corresponding cached part, allowing the programmer to bring the CPU into states not otherwise allowed by the official programming model.

As an example of the usefulness of these techniques, LOADALL can set up the CPU to allow access to all memory from real mode, without having to switch it into protected mode. Programs such as the RAMDRIVE and HIMEM drivers 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 even less known 386 variant.

Another interesting usage of LOADALL, signalled in the book "The Design of OS/2", would have been to allow running former real mode programs in 16-bit protected mode. Marking all the descriptor caches in the GDT and LDTs "not present" would allow the operating system to trap segment register reloads as well as attempts at performing real-mode specific "segment arithmetic" and emulate the desired behavior by updating the segment descriptors (LOADALL again). This "virtual 8086 mode" for the 80286 was, however, too slow to be practical. The idea had to be discarded, furthermore, due to an erratum in some early Intel 80286 processors. As a result, OS/2 1.x - and Windows in "standard" mode as well - had to run DOS programs in real mode. Nevertheless the idea was not lost; it led Intel to introduce the virtual mode of the 80386, allowing the implementation of "DOS boxes" at last in a relatively efficient and documented way.

External links

* [http://www.x86.org/articles/loadall/tspec_a3_doc.htm A rich page on x86.org]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • EntitySpaces — Infobox Software name = EntitySpaces developer = EntitySpaces, LLC latest release version = EntitySpaces 2008.1.0811.0 latest release date = 10 August 2008 latest preview version = EntitySpaces 2008.1.0820.0 operating system = Cross platform… …   Wikipedia

  • Real-Modus — Der Begriff Real Mode, eigentlich real address mode oder eingedeutscht Real Modus, bezeichnet eine Betriebsart der x86 kompatiblen Prozessoren, die ab dem Intel 80286 unter diesem Namen existiert. Inhaltsverzeichnis 1 Charakteristika 2… …   Deutsch Wikipedia

  • Real Mode — Der Begriff Real Mode, eigentlich real address mode oder eingedeutscht Real Modus, bezeichnet eine Betriebsart der x86 kompatiblen Prozessoren, die ab dem Intel 80286 unter diesem Namen existiert. Inhaltsverzeichnis 1 Charakteristika 2 Bedeutung… …   Deutsch Wikipedia

  • Realmode — Der Begriff Real Mode, eigentlich real address mode oder eingedeutscht Real Modus, bezeichnet eine Betriebsart der x86 kompatiblen Prozessoren, die ab dem Intel 80286 unter diesem Namen existiert. Inhaltsverzeichnis 1 Charakteristika 2… …   Deutsch Wikipedia

  • Unreal mode — Der Begriff Real Mode, eigentlich real address mode oder eingedeutscht Real Modus, bezeichnet eine Betriebsart der x86 kompatiblen Prozessoren, die ab dem Intel 80286 unter diesem Namen existiert. Inhaltsverzeichnis 1 Charakteristika 2… …   Deutsch Wikipedia

  • Расширитель DOS — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей. Расширитель …   Википедия

  • J. C. Bamford — This article is about the company. For its founder, see Joseph Cyril Bamford. J C Bamford Excavators Limited Type Private Industry Heavy equipment Founded 1 …   Wikipedia

  • Educational Object — Ein Lernobjekt (von englisch learning object; auch LO, educational object, instructional object o. ä.) soll die kleinste sinnvolle Lerneinheit sein, in die ein Online Lernangebot zerlegt werden kann. Diese Definition ist jedoch sehr umstritten.… …   Deutsch Wikipedia

  • Расширители DOS — Расширитель DOS (также дос экстендер  от англ. DOS extender)  технология, позволяющая программам для операционных систем семейства защищённом режиме процессора. Существуют 16 и 32 битные расширители DOS: 16 битные расширители предназначены для… …   Википедия

  • Intel 80286 — Infobox Computer Hardware Cpu name = 286 caption = An Intel 80286 Microprocessor manuf1 = Intel manuf2 = AMD manuf3 = Harris Corporation manuf4 = Siemens AG produced start = 1982 produced end = early 1990s slowest = 6 | slow unit = MHz fastest =… …   Wikipedia

Share the article and excerpts

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