Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!killer!chasm From: chasm@killer.DALLAS.TX.US (Charles Marslett) Newsgroups: comp.sys.intel Subject: Re: 386 "real" mode access beyond 1M using data_32 instruction prefix Summary: Another Intel goof!! Keywords: 80386,real mode Message-ID: <7187@killer.DALLAS.TX.US> Date: 16 Feb 89 13:49:01 GMT References: <529@h-three.UUCP> Organization: The Unix(R) Connection, Dallas, Texas Lines: 38 In article <529@h-three.UUCP>, tony@h-three.UUCP (me) writes: > I need to write a routine for a 386 in "real" mode (actually a firm- > ware application) that can read/write data above 1M. At first glance, > the instruction and address prefixes (0x66, 0x67) would seem to be > the way to do this; but I can't get them to work, and even have a > suspicion they won't work. > > Here is the current test routine (assembler is right to left w operands). > The routine takes a physical address and a 32 bit value to put there. > Technique is to zero 'es' and stick the address into 'esi'. Theory is > that will yield: effective address == (0 << 4) + esi > > This routine fails with General Prot Fault (13). It certainly does: Intel (for reasons known only to their architects, real world programmers would have never done it that way!) always verifies that the address generated in real mode is less than 00110000h (so the 386 cannot access any more real-mode memory than the 286. You would have thought they should have learned a lesson from the 286's one way mode switch . . . programmers like to be able to make mistakes! Idiot proofing an instruction set makes it an idiot's instruction set. > Is it even possible to access above 1M without going into full protected > mode? Nope.... > -- > --tony ...!uunet!h-three!tony (919) 549-8334 h-three Systems Corporation > h-three!tony@uunet.uu.net POB 12557; RTP, NC 27709; USA > t. e. bennett =========================================================================== Charles Marslett STB Systems, Inc. <== Apply all standard disclaimers Wordmark Systems <== No disclaimers required -- that's just me chasm@killer.dallas.tx.us