🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #6638

Re: MS-DOS in 386 protected mode

#6638
From: Mark Hahn
Date: Mon, 23 Nov 1992 02:19
15 lines
1273 bytes
It's absolutely impossible to run unmodified msdos in protect mode.
Why?  Because Intel chose to place tag bits in the low-order positions of 
a selector (the protect-mode equivalent of a segment number).  The low
two indicate privilege level (ring 0-3) and 0x04 indicates LDT/GDT.
This means that if you want a series of consecutive selector values,
they will be scattered across rings and between LDT and GDT.  Not only
that, but the different rings are just aliases for the same descriptor.
V86 mode is Intel's response to this, of course.

Incidentally, it's amusing that you CAN run real-mode programs in
protect mode: as long as they don't make assumptions about seg
registers.  I have some Turbo C++ code that switches itself into PM,
but it doesn't really do anything past there.

regards, Mark.
Technical Details
Message-ID: <10060@blue.cis.pitt.edu.UUCP>
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!zaphod.mps.ohio-state.edu!pitt.edu!mchst12
References: <37619@uflorida.cis.ufl.edu> <1992Nov19.170201.18621@ugle.unit.no> <1992Nov20.193105.5699@ucselx.sdsu.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!zaphod.mps.ohio-state.edu!pitt.edu!mchst12
From: mchst12@pitt.edu (Mark Hahn)
Newsgroups: comp.os.msdos.programmer
Subject: Re:  MS-DOS in 386 protected mode
Message-ID: <10060@blue.cis.pitt.edu.UUCP>
Date: 23 Nov 92 02:19:55 GMT
References: <37619@uflorida.cis.ufl.edu> <1992Nov19.170201.18621@ugle.unit.no> <1992Nov20.193105.5699@ucselx.sdsu.edu>
Sender: news+@pitt.edu
Reply-To: mchst12@pitt.edu
Lines: 15