Article View: comp.os.msdos.programmer
Article #6638Re: MS-DOS in 386 protected mode
From: Mark Hahn
Date: Mon, 23 Nov 1992 02:19
Date: Mon, 23 Nov 1992 02:19
15 lines
1273 bytes
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!mchst12References:
<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