🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #22037

Re: LoadAll?

#22037
From: rob
Date: Wed, 10 Jan 1990 17:30
35 lines
2197 bytes
aland@infmx.UUCP writes:

>You *can* switch back to real mode on the 286 -- it's possible, though
>not trivial.  The basic strategy is to save off the registers, etc.
>and then trigger a reset of the '286 via the keyboard controller (which
>makes the 286 start up in real mode).  Then, restore the registers,
>etc. and away you go!  (over-simplified, but this is the gist of it).

   This is the method that's been aptly described as 'turning off the car 
to change gears.' It, along with 64K segments, is something Intel may never 
live down.

   In fairness, the 286 was designed before the DOS invasion, and before 
anyone realized that jumping between real and protected mode would be 
important. The 286 manuals contain amusing (in retrospect) statements saying,
roughly, 'Real mode is used primarily to set the 80286 up for protected mode 
operation.' I wonder which CPU will _really_ be the first to be used mostly 
in protected mode.

>This is how protected-mode DOS extenders work, e.g. DOS/16M (which
>is used in Informix's DOS products and in Lotus 1-2-3 Release 3.0).

   It's also used by OS/2 to run the DOS compatibility box on a 286, and 
by 286 BIOSes. RAM disks and disk caches using extended memory often use 
this method, though some use LOADALL.

>the 386 has instructions to switch between each of
>the four(?) modes: real, protected (286), native, and virtual 8086.

   In a way, the 386 still has only two modes - real and protected. 386 
protected mode has 'sub-modes', selectable on a task-by-task basis, that let 
it handle 16 or 32 bit code, and, based on a bit in the flags register, 
adjust its segment arithmetic to run real mode code ('Virtual 86'). And, 
it can switch back to real mode fairly easily.
Technical Details
Message-ID: <208300006@prism>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!bloom-beacon!bu.edu!bu-cs!mirror!prism!rob
References: <597@unmvax.unm.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!bloom-beacon!bu.edu!bu-cs!mirror!prism!rob
From: rob@prism.TMC.COM
Newsgroups: comp.arch
Subject: Re: LoadAll?
Message-ID: <208300006@prism>
Date: 10 Jan 90 17:30:00 GMT
References: <597@unmvax.unm.edu>
Lines: 35
Nf-ID: #R:unmvax.unm.edu:-59700:prism:208300006:000:1735
Nf-From: prism.TMC.COM!rob    Jan 10 12:30:00 1990