Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!apple!voder!pyramid!altos!altos86!rcollins From: rcollins@altos86.Altos.COM (Robert Collins) Newsgroups: comp.os.msdos.programmer Subject: Re: Protected mode/Real mode switching Message-ID: <281@altos86.Altos.COM> Date: 30 Apr 91 15:46:08 GMT References: <1991Apr15.160333.8107@msuinfo.cl.msu.edu> <37390009@hpopd.pwd.hp.com> <3199@bimacs.BITNET> <1448@balrog.ctron.com> Reply-To: rcollins@altos86.UUCP (Robert Collins) Organization: Altos Computer Systems, San Jose, CA Lines: 31 In article <1448@balrog.ctron.com> dj@ctron.com writes: >> Wasn't there an undocumented "load all" function? >> Could it help? > >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. > LOADALL is available on both the '286 and '386. However, it is implemented as different op codes on each processor. '286 LOADALL is op code 0F 05, and '386 LOADALL is op code 0F 07. In the October issue of 'TECH SPECIALIST' is an article I wrote discussing LOADALL for both the '286 and '386. Included in the article is a detailed description of the instruction, and source code examples showing how to use it on each processor. Also included is a LOADALL emulation TSR written for the '386. This routine will use '386 LOADALL to emulate '286 LOADALL. The '486 has LOADALL, but is not accessible via an op code. -- "Worship the Lord your God, and serve him only." Mat. 4:10 Robert Collins UUCP: ...!sun!altos86!rcollins HOME: (408) 225-8002 WORK: (408) 432-6200 x4356