# LOADALL

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/LOADALL
> Markdown URL: https://mediated.wiki/source/LOADALL.md
> Source: https://en.wikipedia.org/wiki/LOADALL
> Source revision: 1329350624
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Undocumented Intel 80286 and 80386 instructions

**LOADALL** is the common name for two different [undocumented machine instructions](/source/Undocumented_machine_instruction) of [Intel 80286](/source/Intel_80286) and [Intel 80386](/source/Intel_80386) processors, which allow access to areas of the internal processor state that are normally outside of the [IA-32](/source/IA-32) [API](/source/Application_programming_interface) scope, like *descriptor cache registers*. The LOADALL for 286 processors is encoded 0Fh 05h,[1] while the LOADALL for 386 processors is 0Fh 07h.[2]

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](/source/Programming_model).

## Usage

As an example of the usefulness of these techniques, LOADALL can set up the CPU to allow access to all memory from [real mode](/source/Real_mode), without having to switch it into [unreal mode](/source/Unreal_mode) (which requires switching into [protected mode](/source/Real_mode), accessing memory and finally switching back to real mode). Programs such as the pre-[XMS](/source/Extended_memory_specification) versions of [RAMDRIVE.SYS](/source/RAMDRIVE.SYS) (1985),[3][1][4] [SMARTDRV.SYS](/source/SMARTDRV.SYS) (1986)[4] as well as [HIMEM.SYS](/source/HIMEM.SYS) (2.03, 1988-08-04; 2.04, 1988-08-17)[4] drivers in [MS-DOS](/source/MS-DOS), [Uniform Software Systems](https://en.wikipedia.org/w/index.php?title=Uniform_Software_Systems&action=edit&redlink=1)' [The Extender](https://en.wikipedia.org/w/index.php?title=The_Extender&action=edit&redlink=1) (1985) and [The Connector](https://en.wikipedia.org/w/index.php?title=The_Connector_(software)&action=edit&redlink=1) (1985) for [Lotus 1-2-3](/source/Lotus_1-2-3), [Above Disk](/source/Above_Disk) (1986)[5] (a [LIMulator](/source/LIMulator) by Above Software (formerly [Tele-Ware West](https://en.wikipedia.org/w/index.php?title=Tele-Ware_West&action=edit&redlink=1) aka [Los Angeles Securities Group](https://en.wikipedia.org/w/index.php?title=Los_Angeles_Securities_Group&action=edit&redlink=1)) that converted [hard disk](/source/Hard_disk) space or [extended memory](/source/Extended_memory) into [expanded memory](/source/Expanded_memory)), and [OS/2 1.0](/source/OS%2F2_1.0)[3][1] and [1.1](/source/OS%2F2_1.1)[6] used the 286 LOADALL instruction. DOS 3.3 and 4.0 reserved a 102-byte buffer at 0070:0100h (which was normally occupied by [DOS BIOS](/source/DOS_BIOS) data) so that there was no need to save & restore it for LOADALL. Microsoft's [EMM386.EXE](/source/EMM386.EXE) special-cases both the 286 and 386 LOADALL instructions in its [invalid opcode handler](/source/Invalid_opcode_handler).[7] Examination of the virtual-machine monitor code in [Windows/386 2.10](/source/Windows%2F386_2.10) shows that it uses both the 286[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*] and the even less known 386 variant[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*]. Microsoft's HIMEM.SYS version 2.06[8] also used LOADALL to quickly copy to and from extended memory on 286 systems.

Another interesting usage of LOADALL, laid out in the book *The Design of OS/2*,[9] would have been to allow running former real-mode programs in 16-bit protected mode, as utilized by [Digital Research](/source/Digital_Research)'s [Concurrent DOS 286](/source/Concurrent_DOS_286) since 1985,[10][11][12] as well as [FlexOS 286](/source/FlexOS_286)[13] and [IBM 4680 OS](/source/IBM_4680_OS)[14][15] since 1986. Marking all the descriptor caches in the [GDT](/source/Global_Descriptor_Table) and [LDTs](/source/Local_Descriptor_Table) "not present" would allow the [operating system](/source/Operating_system) to [trap](/source/Trap_(computing)) 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 "[8086 emulation mode](/source/8086_emulation_mode)" for the 80286 was, however, too slow to be practical. The idea had to be mostly discarded due to errata in some early Intel 80286 processors before the E-2 [stepping](/source/Stepping_level).[10][11][13] 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 8086 mode](/source/Virtual_8086_mode) of the 80386, allowing the implementation of "[DOS boxes](/source/Virtual_DOS_machine)" at last in a relatively efficient and documented way.

Because LOADALL did not perform any checks on the validity of the data loaded into processor registers, it was possible to load a processor state that could not be normally entered, such as using [real mode](/source/Real_mode) (PE=0) together with paging (PG=1) on 386-class CPUs.[2]

An [in-circuit emulator](/source/In-circuit_emulator) (ICE) is a tool used for low-level [debugging](/source/Debugging). On Intel 80386, asserting the undocumented pin at location B6 causes the microprocessor to halt execution and enter ICE mode. The microprocessor saves its entire state to an area of memory isolated from normal system memory. The layout of this area is suitable for the LOADALL instruction, and this instruction is used by ICE code to return to normal execution.

In later processors, this evolved into [System Management Mode](/source/System_Management_Mode) (SMM). In SMM, the RSM instruction is used to load a full CPU state from a memory area. The layout of this memory area is similar to one used by the LOADALL instruction.[16] 386-style LOADALL instruction can be executed on 486 too, but only in SMM mode. In later processors, the RSM instruction, with a different encoding, took its role.

Microsoft's [Codeview](/source/Codeview) 3.0 and Borland's [Turbo Debugger](/source/Turbo_Debugger) 2.0 correctly decode 286 and 386 LOADALL instructions.[1]

As the two LOADALL instructions were never documented and do not exist on later processors, the opcodes were reused in the [AMD64](/source/AMD64) architecture.[17] The opcode for the 286 LOADALL instruction, 0F05, became the AMD64 instruction SYSCALL; the 386 LOADALL instruction, 0F07, became the SYSRET instruction. These definitions were implemented even on Intel CPUs with the introduction of the [Intel 64](/source/Intel_64) implementation of AMD64.[18]

## 80286

Opcode 0F05. The instruction reads data from addresses 0x00800–0x00866, whatever the content of the segment registers.

Address number of bytes register register register register 00800 6 not used 00806 2 MSW, machine status word 00808 14 not used 00816 2 TR (task register) 00818 2 flags 0081A 2 IP (instruction pointer) 0081C 2 LDTR, local descriptor table register 0081E 4× 2 DS (data segment) SS (stack segment) CS (code segment) ES (extra segment) 00826 4× 2 DI (destination index) SI (source index) BP (base pointer) SP (stack pointer) 0082E 4× 2 BX DX CX AX 00836 4× 6 ES segment descriptor CS segment descriptor SS segment descriptor DS segment descriptor 0084E 4× 6 GDT, global descriptor table LDT, local descriptor table IDT, interrupt descriptor table TSS, task state segment

The 80286 LOADALL instruction can not be used to switch from protected back to real mode[19] (it can't clear the PE bit in the MSW). However, use of the LOADALL instruction can avoid the need to switch to protected mode altogether.

## 80386

Opcode 0F07. The instruction loads data from address ES:EDI. It actually uses ES, not the ES descriptor.

Address number of bytes register register register register ES:EDI+00 4 CR0, control register 0 ES:EDI+04 4 EFLAGS ES:EDI+08 4 EIP, instruction pointer ES:EDI+0C 4× 4 EDI, destination index ESI, source index EBP, base pointer ESP, stack pointer ES:EDI+1C 4× 4 EBX EDX ECX EAX ES:EDI+2C 2× 4 DR6 DR7 ES:EDI+34 4 TR, task state selector ES:EDI+38 4 LDTR, local descriptor table ES:EDI+3C 4× 2 GS, extra segment not used FS, extra segment not used ES:EDI+44 4× 2 DS, data segment not used SS, stack segment not used ES:EDI+4C 4× 2 CS, code segment not used ES, extra segment not used ES:EDI+54 4× 12 TSS descriptor, task state selector IDT descriptor, interrupt descriptor table GDT descriptor, global descriptor table LDT descriptor, local descriptor table ES:EDI+84 4× 12 GS segment descriptor FS segment descriptor DS segment descriptor SS segment descriptor ES:EDI+B4 2× 12 CS segment descriptor ES segment descriptor

## See also

- [Concurrent DOS 286](/source/Concurrent_DOS_286)

- [FlexOS 286](/source/FlexOS_286)

- [IBM 4680 OS](/source/IBM_4680_OS)

## References

1. ^ [***a***](#cite_ref-Schulman_1990_Undocumented-DOS_1-0) [***b***](#cite_ref-Schulman_1990_Undocumented-DOS_1-1) [***c***](#cite_ref-Schulman_1990_Undocumented-DOS_1-2) [***d***](#cite_ref-Schulman_1990_Undocumented-DOS_1-3) Schulman, Andrew; Michels, Raymond J.; Kyle, Jim; [Paterson, Tim](/source/Tim_Paterson); Maxey, David; [Brown, Ralf D.](/source/Ralf_D._Brown) (1990). *Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures* (1 ed.). [Addison-Wesley](/source/Addison-Wesley). pp. 14–15. [ISBN](/source/ISBN_(identifier)) [978-0-201-57064-9](https://en.wikipedia.org/wiki/Special:BookSources/978-0-201-57064-9). (xviii+694+viii pages, 2× 5.25"-floppies [\[1\]](https://web.archive.org/web/20200223185731/https://gopher.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/Undocumented%20DOS/Undocumented%20DOS%201st%20edition.zip)) Errata: [\[2\]](https://web.archive.org/web/20190417215541/http://www.cs.cmu.edu/afs/cs/user/ralf/pub/books/UndocumentedDOS/errata.ud1)[\[3\]](https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-1st-edition)

1. ^ [***a***](#cite_ref-Gilluwe_1994_2-0) [***b***](#cite_ref-Gilluwe_1994_2-1) Van Gilluwe, Frank (1994). *The Undocumented PC* (1 ed.). [Addison-Wesley](/source/Addison-Wesley). pp. 62–70. [ISBN](/source/ISBN_(identifier)) [0-201-62277-7](https://en.wikipedia.org/wiki/Special:BookSources/0-201-62277-7). [\[4\]](https://web.archive.org/web/20200226144643/https://gopher.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/Undocumented%20PC/Undocumented_PC_1e.zip)

1. ^ [***a***](#cite_ref-Duncan_1990_Extending_3-0) [***b***](#cite_ref-Duncan_1990_Extending_3-1) Duncan, Ray; [Petzold, Charles](/source/Charles_Petzold); Baker, M. Steven; Schulman, Andrew; Davis, Stephen R.; Nelson, Ross P.; [Moote, Robert](/source/Robert_Moote) (1990). *Extending DOS* (1 ed.). Reading, MA, USA: [Addison-Wesley Publishing Company, Inc.](/source/Addison-Wesley_Publishing_Company%2C_Inc.) pp. 100–103. [ISBN](/source/ISBN_(identifier)) [0-20155053-9](https://en.wikipedia.org/wiki/Special:BookSources/0-20155053-9).

1. ^ [***a***](#cite_ref-Necasek_2013_LOADALL-OS/2_4-0) [***b***](#cite_ref-Necasek_2013_LOADALL-OS/2_4-1) [***c***](#cite_ref-Necasek_2013_LOADALL-OS/2_4-2) Necasek, Michal (2013-10-27). ["More on LOADALL and OS/2"](http://www.os2museum.com/wp/more-on-loadall-and-os2/). *OS/2 Museum*. Retrieved 2018-10-17.{{[cite web](https://en.wikipedia.org/wiki/Template:Cite_web)}}: CS1 maint: deprecated archival service ([link](https://en.wikipedia.org/wiki/Category:CS1_maint:_deprecated_archival_service))

1. **[^](#cite_ref-Collins_1991_5-0)** Collins, Robert R. (October 1991). ["The LOADALL Instruction"](http://www.rcollins.org/articles/loadall/tspec_a3_doc.html). *TECH Specialist - the Journal for Advanced PC Developers*. **2** (10). Lawrence, Kansas, USA: R&D Publications, Inc. [ISSN](/source/ISSN_(identifier)) [1049-913X](https://search.worldcat.org/issn/1049-913X). [Archived](https://web.archive.org/web/20200220132927/http://www.rcollins.org/articles/loadall/tspec_a3_doc.html) from the original on 2020-02-20. Retrieved 2018-10-17. [\[5\]](https://web.archive.org/web/20200220130024/https://www.pcorner.com/list/MAG/OCT91.ZIP/INFO/) (NB. The magazine was soon renamed into "The DOS Developers Journal" and eventually into "The Windows/DOS Developer's Journal" (ISSN 1059-2407).)

1. **[^](#cite_ref-Necasek_2011_HIMEM_6-0)** Necasek, Michal (2011-03-18). ["HIMEM.SYS, unreal mode, and LOADALL"](http://www.os2museum.com/wp/himem-sys-unreal-mode-and-loadall/). *OS/2 Museum*. [Archived](https://web.archive.org/web/20170103214301/http://www.os2museum.com/wp/himem-sys-unreal-mode-and-loadall/) from the original on 2017-01-03. Retrieved 2017-01-03.

1. **[^](#cite_ref-Schulman_1994_Undocumented-DOS_7-0)** Schulman, Andrew; [Brown, Ralf D.](/source/Ralf_D._Brown); Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Williams, Andrew (ed.). [*Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1*](https://archive.org/details/undocumenteddosp00andr_0). The Andrew Schulman Programming Series (1st printing, 2nd ed.). Reading, Massachusetts, USA: [Addison Wesley Publishing Company](/source/Addison_Wesley_Publishing_Company). p. [42](https://archive.org/details/undocumenteddosp00andr_0/page/42). [ISBN](/source/ISBN_(identifier)) [0-201-63287-X](https://en.wikipedia.org/wiki/Special:BookSources/0-201-63287-X). (xviii+856+vi pages, 3.5"-floppy [\[6\]](https://web.archive.org/web/20200223185605/https://gopher.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/Undocumented%20DOS/Undocumented%20DOS%202nd%20edition.zip)) Errata: [\[7\]](https://web.archive.org/web/20190417215556/http://www.cs.cmu.edu/afs/cs/user/ralf/pub/books/UndocumentedDOS/errata.ud2)[\[8\]](https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-2nd-edition)

1. **[^](#cite_ref-Microsoft_HIMEM_8-0)** ["Microsoft HIMEM.SYS 2.06 source code"](ftp://ftp.szif.hu/pub/demos/code/himemsys.zip). *FTP server* ([FTP](/source/FTP)).[*dead ftp link*] (To view documents see [Help:FTP](https://en.wikipedia.org/wiki/Help:FTP))

1. **[^](#cite_ref-Deitel_1992_9-0)** Deitel, Harvey M.; Kogan, Michael S. (1992). [*The Design of OS/2*](https://archive.org/details/designofos20000deit). [Addison-Wesley](/source/Addison-Wesley). [ISBN](/source/ISBN_(identifier)) [0-201-54889-5](https://en.wikipedia.org/wiki/Special:BookSources/0-201-54889-5).

1. ^ [***a***](#cite_ref-Infoworld_1985_Super_10-0) [***b***](#cite_ref-Infoworld_1985_Super_10-1) Foster, Edward (1985-05-13). ["Super DOS awaits new 80286 – Concurrent DOS 286 – delayed until Intel upgrades chip – offers Xenix's power and IBM PC compatibility"](https://books.google.com/books?id=2y4EAAAAMBAJ&pg=PA17). *[InfoWorld](/source/InfoWorld)*. **7** (19). [InfoWorld Media Group](/source/InfoWorld_Media_Group): 17–18. [ISSN](/source/ISSN_(identifier)) [0199-6649](https://search.worldcat.org/issn/0199-6649). Retrieved 2019-04-21.{{[cite journal](https://en.wikipedia.org/wiki/Template:Cite_journal)}}: CS1 maint: deprecated archival service ([link](https://en.wikipedia.org/wiki/Category:CS1_maint:_deprecated_archival_service))

1. ^ [***a***](#cite_ref-Infoworld_1985_80286_11-0) [***b***](#cite_ref-Infoworld_1985_80286_11-1) Foster, Edward (1985-08-26). ["Intel shows new 80286 chip – Future of DRI's Concurrent DOS 286 still unclear after processor fixed"](https://books.google.com/books?id=_y4EAAAAMBAJ&pg=PA21). *[InfoWorld](/source/InfoWorld)*. **7** (34). [InfoWorld Media Group](/source/InfoWorld_Media_Group): 21. [ISSN](/source/ISSN_(identifier)) [0199-6649](https://search.worldcat.org/issn/0199-6649). Retrieved 2019-04-21.{{[cite journal](https://en.wikipedia.org/wiki/Template:Cite_journal)}}: CS1 maint: deprecated archival service ([link](https://en.wikipedia.org/wiki/Category:CS1_maint:_deprecated_archival_service))

1. **[^](#cite_ref-DRI_1986_CDOS68K-2_12-0)** ["Concurrent DOS 68K 1.2 – Developer Kit for Motorola VME/10 – Disk 2"](http://www.cpm.z80.de/download/cdos2.zip). 1986-08-06 [1986-04-08]. [Archived](https://web.archive.org/web/20190403010111/http://www.cpm.z80.de/download/cdos2.zip) from the original on 2019-04-03. Retrieved 2018-09-13. (NB. This package also includes some header files from [Concurrent DOS 286](/source/Concurrent_DOS_286), including STRUCT.H explicitly mentioning LOADALL for "8086 emulation".)

1. ^ [***a***](#cite_ref-DRI_1986_FlexOS286_13-0) [***b***](#cite_ref-DRI_1986_FlexOS286_13-1) [*FlexOS Supplement for Intel iAPX 286-based Computers*](http://www.bitsavers.org/pdf/digitalResearch/flexos/FlexOS_Suppliment_For_iAPX286_Computers_Nov86.pdf) (PDF). 1.3 (1 ed.). [Digital Research, Inc.](/source/Digital_Research%2C_Inc.) November 1986. [Archived](https://web.archive.org/web/20190421183934/http://www.bitsavers.org/pdf/digitalResearch/flexos/FlexOS_Suppliment_For_iAPX286_Computers_Nov86.pdf) (PDF) from the original on 2019-04-21. Retrieved 2018-08-14.

1. **[^](#cite_ref-InfoWorld_1986_Concurrent_14-0)** Calvo, Melissa; Forbes, Jim (1986-02-10). ["IBM to use a DRI operating system"](https://books.google.com/books?id=oi8EAAAAMBAJ&pg=PA12). *[InfoWorld](/source/InfoWorld)*. [InfoWorld Media Group](/source/InfoWorld_Media_Group). Retrieved 2011-09-06.{{[cite journal](https://en.wikipedia.org/wiki/Template:Cite_journal)}}: CS1 maint: deprecated archival service ([link](https://en.wikipedia.org/wiki/Category:CS1_maint:_deprecated_archival_service))

1. **[^](#cite_ref-DRI_1986_IBM_15-0)** ["IBM selects Concurrent DOS-286 for PC AT retail system"](http://corphist.computerhistory.org/corphist/documents/doc-446a17c4d826e.pdf?PHPSESSID=afc1edd71684f4d749c58203befec8f0) (PDF). *[European Review](/source/European_Review_(Digital_Research))* (18). [Digital Research](/source/Digital_Research): 1. March 1986. [Archived](https://web.archive.org/web/20190403215731/http://corphist.computerhistory.org/corphist/documents/doc-446a17c4d826e.pdf) (PDF) from the original on 2019-04-03. Retrieved 2018-09-15.

1. **[^](#cite_ref-Collins_1997_16-0)** Collins, Robert R. (January 1997). ["Intel's System Management Mode"](http://www.rcollins.org/ddj/Jan97/Jan97.html). [Archived](https://web.archive.org/web/20170103214606/http://www.rcollins.org/ddj/Jan97/Jan97.html) from the original on 2017-01-03. Retrieved 2017-01-03.

1. **[^](#cite_ref-Necasek_2013_LOADALL_17-0)** Necasek, Michal (2013-10-18). ["LOADALL Strikes Again"](http://www.os2museum.com/wp/loadall-strikes-again/). *OS/2 Museum*. [Archived](https://web.archive.org/web/20170103213830/http://www.os2museum.com/wp/loadall-strikes-again/) from the original on 2017-01-03. Retrieved 2016-01-27.

1. **[^](#cite_ref-Intel_2015_IA32_18-0)** ["Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2B"](http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf) (PDF). [Intel Corporation](/source/Intel_Corporation). December 2015. [Archived](https://web.archive.org/web/20190421185002/https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf) (PDF) from the original on 2019-04-21. Retrieved 2016-01-27.

1. **[^](#cite_ref-Slater_1987_19-0)** Slater, Michael (October 1987). "Secret 286 LOADALL instruction allows access to extended memory in real mode". *[Microprocessor Report](/source/Microprocessor_Report)*.

## Further reading

- [*IBM Operating System/2 Technical Reference – Programming Family*](http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/pc/os2/84X1434_OS2_Technical_Reference_Volume_1_Sep87.pdf) (PDF). Vol. 1 (1st ed.). [IBM](/source/IBM). September 1987 [1986]. [Archived](https://web.archive.org/web/20170103220718/http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/pc/os2/84X1434_OS2_Technical_Reference_Volume_1_Sep87.pdf) (PDF) from the original on 2017-01-03.

- Chappell, Geoff (January 1994). Schulman, Andrew; Pedersen, Amorette (eds.). *DOS Internals*. The Andrew Schulman Programming Series (1st printing, 1st ed.). [Addison Wesley Publishing Company](/source/Addison_Wesley_Publishing_Company). pp. 4, 21, 100–106, 127–129. [ISBN](/source/ISBN_(identifier)) [978-0-201-60835-9](https://en.wikipedia.org/wiki/Special:BookSources/978-0-201-60835-9). (xxvi+738+iv pages, 3.5"-floppy [\[9\]](https://web.archive.org/web/20190421200111/https://gopher.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/DOS%2520Internals/DOS_Internals.zip)[\[10\]](https://web.archive.org/web/20200222111608/https://www.pcjs.org/pubs/pc/programming/DOS_Internals/)) Errata: [\[11\]](https://web.archive.org/web/20200222111742/http://www.geoffchappell.com/notes/dos/internals/)[\[12\]](https://web.archive.org/web/20200222111853/https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/DOS/DOS%2520Internals/crtdrvr)[\[13\]](https://web.archive.org/web/20200222111945/https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/DOS/DOS%2520Internals/xmswatch)

- Chappell, Geoff (2008-10-03) [1997-03-18]. ["Strange Things LINK Knows about 80x86 Processors"](http://www.geoffchappell.com/notes/windows/archive/linkcpu.htm). [Archived](https://web.archive.org/web/20190421183333/http://www.geoffchappell.com/notes/windows/archive/linkcpu.htm) from the original on 2019-04-21. Retrieved 2019-04-21.

- Necasek, Michal (2014-12-13). ["Curious Instructions"](http://www.os2museum.com/wp/curious-instructions/). *OS/2 Museum*. [Archived](https://web.archive.org/web/20190421182907/http://www.os2museum.com/wp/curious-instructions/) from the original on 2019-04-21. Retrieved 2019-04-21.

- Stiller, Andreas (1990). "Bitter für 32-Bitter". *[c't - magazin für computertechnik](/source/C't_-_magazin_f%C3%BCr_computertechnik)* (in German). Vol. 1990, no. 8. p. 202.

- Juffa, Norbert; Siering, Peter (1990). "Wege über die Mauer. Loadall - Extended Memory im Real Mode des 80286". *[c't - magazin für computertechnik](/source/C't_-_magazin_f%C3%BCr_computertechnik)* (in German). Vol. 1990, no. 11. pp. 362–366.

---
Adapted from the Wikipedia article [LOADALL](https://en.wikipedia.org/wiki/LOADALL) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/LOADALL?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
