home *** CD-ROM | disk | FTP | other *** search
- Path: 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
-
- 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.
-