TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: ALL
from: ED BEROSET
date: 1997-12-25 08:33:00
subject: Re: flat real mode

From: Ed Beroset 
Subject: Re: flat real mode
At 12:45 12/23/97, you wrote:
>
>Replying to a message of Ed Beroset  to All:
>Send me the pieces so I can assemble a DOS machine, Ed :)
I'm sure I have an old XT board around here somewhere... but I suppose it
would be kind of tough to go into protected mode on one.  
> EB> FWIW, TASM, the code I posted last time, a small editor and
> EB> DEBUG will all coexist nicely on a single bootable floppy. 
> EB> :-)
>
>Impractical here; if you check the latest nodelist, you will see why :)
Alas, checking the nodelist is impractical here.  :-)  I haven't been on
"real" FIDO for  about a year now and my nodelist is quite stale.  (I
wonder if there's a searchable web database version somewhere on the
internet?)  I'm guessing that you have only one machine capable of running
protected mode software and that it's tied up doing some kind of
Fido-related processing 24 hours a day.  
> EB> Unfortunately, without the benefit of the protection of
> EB> protected mode, every minor bug can be potentially lethal
> EB> to the entire system.  A write to an uninitialized pointer,
>
>Which is nothing we haven't already faced in DOS..
That's certainly true.  It's one reason DOS is pretty much history.  
> EB> you propose, what will happen is that DX will get the value
> EB> 08h (since that was the selector used), and then FS will
> EB> get 08h.  Even though it was already 08h, the reload in
> EB> real mode will cause the base address to be changed in
> EB> exactly the way you'd expect for any other real mode
> EB> segment register load, i.e. 80h will be effectively added
> EB> to any FS-relative address.
>
>You loaded FS with the actual selector, and not the real mode segment
value???
Yes.  Loading FS in protected mode requires a valid protected mode
selector.  Loading FS in real mode is just like loading any other segment
in real mode.  
If I load FS in protected mode and then move to real mode, the value of FS
will not change.  As I'm sure you know, segment register contents don't
change when the CPU changes modes.  However, if I then load a new value (or
even the SAME value) into FS while in real mode, it will be subject to the
usual real mode segment interpretation.
> EB> Other questions and answers, possibly to whet your appetite:
>
>Interesting, particularly the one about write-protected segments being still
>valid in realmode.
I see that Serguei has posted still more information about it, from Robert
Collins web site.  That site (www.x86.org) is a pretty good site for
undocumented or lightly documented Intel processor operation, although much
of it is so esoteric that it's likely to be of interest only to BIOS
programmers or PC hardware engineers.
Ed
-!-
---
---------------
* Origin: The Circuit! Board * Spokane * (1:346/100)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.