🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.intel
Article #940

Re: LOADALL and the 486

#940
From: |S| Norbert Juffa
Date: Wed, 11 Nov 1992 10:50
50 lines
3358 bytes
In <veit.721473830@du9ds3> veit@du9ds3.uni-duisburg.de writes:

> In <1992Nov9.115520.5893@fct.unl.pt> jpl@antares.fct.unl.pt (Joao Prospero Luis [ps]) writes:
> 
> >Marcus Jenkins (marcusj@apricot.co.uk) wrote:
> >: I know this may be an FAQ, but I am just a little confused.  Is
> >: LOADALL implemented in the 486?  PC Magazine said that it is
> >: in all processors from 2-486.  It also said that Microsoft use
> >: the instruction in HIMEM.SYS, SMARTDRV.SYS and RAMDRIVE.SYS in
> >: MS-DOS.  On the other hand, an instructor from Intel (while lecturing
> >: on an i386/486 programming and architecture course) alleged that
> >: LOADALL is only there on 286 and earlier steps of the 386.  Does
> >: anybody know the REAL answer?  Is there commercial software out
> >: there that does use this reserved instruction.  This enquiry is
> >: out of curiosity only - I have no intention of putting LOADALL
> >: into any of my programs!
> 
> >	As far as I know (it isnt that much) LOADALL isnt implemented in
> >the 386, but is simulated by some BIOSes. When it traps an invalid opcode
> 
> Actually, LOADALL is two different instructions for 286 and 386.
> It seems that at least the d0/d1 version of the 386DX has the LOADALL386
> instruction. See /pub/pc/infos/loadall*.txt at ftp.uni-duisburg.de for
> information on loadall286 and loadall386.
> Many 386 BIOSes versions emulate the loadall286 instruction, because it
> is used occasionally in some programs (HIMEM uses it, but only when a
> 286 is detected; there is seperate code for 386 which is used if one is
> detected. The loadall386 is by far not so well known.
> 
> >it goes to check if it is a LOADALL, if it is it is simulated otherwise
> >it does something else (in fact I think it tests some other invalid opcode
> >first but I dont remember which). This was confirmed with my AMI BIOS.
> 
> >	JPL
> 
> >--

LOADALL286 is not only used by HIMEM, but by Microsoft's SMARTDRV and RAMDRIVE
programs as well. Various DOS versions had provisions for use of LOADALL286 by
not using the LOADALL parameter area at address 800h. If you want to know what
other programs use LOADALL286, just check the code with a debugger (Turbo
Debugger and CodeView will correctly disassemble the LOADALL286 opcode, 0F05h
I think). LOADALL386 (opcode 0F07h ?) is not widely used. The German computer
magazine c't carried an article about LOADALL386 some time ago, with sample source
code how to use it. They claimed LOADALL386 was used by a Taiwanese VMM
manager.

Norbert
-------------------------------------------------------------------------------
Norbert Juffa         email: S_JUFFA@IRAVCL.IRA.UKA.DE       Live and let live!
Technical Details
Message-ID: <1dqogrINNn71@iraul1.ira.uka.de>
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!ira.uka.de!uka!uka!news
References: <1992Nov04.155003.25751@apricot.co.uk> <1992Nov9.115520.5893@fct.unl.pt> <veit.721473830@du9ds3>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!ira.uka.de!uka!uka!news
From: S_JUFFA@iravcl.ira.uka.de (|S| Norbert Juffa)
Newsgroups: comp.sys.intel
Subject: Re: LOADALL and the 486
Date: 11 Nov 1992 10:50:03 GMT
Organization: University of Karlsruhe (FRG) - Informatik Rechnerabt.
Lines: 52
Distribution: world
Message-ID: <1dqogrINNn71@iraul1.ira.uka.de>
References: <1992Nov04.155003.25751@apricot.co.uk> <1992Nov9.115520.5893@fct.unl.pt> <veit.721473830@du9ds3>
NNTP-Posting-Host: irav1.ira.uka.de
X-News-Reader: VMS NEWS 1.23
In-Reply-To: veit@du9ds3.uni-duisburg.de's message of 11 Nov 92 09:23:50 GMT