Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!midway!gsbsun!valley From: valley@gsbsun.uchicago.edu (Doug Dougherty) Newsgroups: comp.os.msdos.programmer Subject: Re: Protected mode/Real mode switching Message-ID: <1991Apr26.160753.4754@midway.uchicago.edu> Date: 26 Apr 91 16:07:53 GMT References: <1991Apr15.160333.8107@msuinfo.cl.msu.edu> <37390009@hpopd.pwd.hp.com> <3199@bimacs.BITNET> <1448@balrog.ctron.com> Sender: news@midway.uchicago.edu (NewsMistress) Organization: University of Chicago Lines: 25 dj@ctron.com (DJ Delorie) writes about the 286 LOADALL instruction: >There is such an opcode, and Microsoft used it in OS/2 for 286 >machines. From what they told me, they had a really hard time getting >Intel to tell *them* about it. They used it primarily to set up the >hidden portion of the segment registers in real mode to access memory >above 1M. It is *not* available on the 386, and may not exist on new >286 designs, or on non-Intel 286's. It's very non-portable, also. I've heard others claim that there is no 386 LOADALL as well. However, I have a document (available upon request) that purports to describe the 386 version of LOADALL; apparently it is only partially a superset of the 286 version. ----------------------------------------- Certainly the use of LOADALL is akin to usage of the undocumented features of the AAD & AAM instructions; "Undocumented DOS" has a very good section on the distinction between using undocumented features of the OS (which they argue is inescapable) and using undocumented features of the chip (which they claim is inexcusable). However, I think if MS uses it (LOADALL) in their systems (an operating system, no less) that that pretty much legitimizes it. Can you imagine some clone 286 manufacturer having to admit that their chips won't run OS/2? -- (Another fine mess brought to you by valley@gsbsun.uchicago.edu)