C integral types [was Re: Semi-OT: Why Kids Can't use Computers] (fwd)

James Knott james.knott-bJEeYj9oJeDQT0dZR+AlfA at public.gmane.org
Tue Aug 20 21:49:12 UTC 2013


Lennart Sorensen wrote:
> Well that is intel's fault actually.  The reset start address of x86
> is 16 bytes before end of memory.  So where else should the BIOS code
> be located?  Given the 8088/8086 had a 20 bit address, that meant the
> start address was 0xFFFF0 which is the last 16 bytes of the BIOS places
> at the end of memory.  So I don't know what intel's guidelines were,
> but given the reset PC of the CPU, I don't think there was much choice.

Well, I just happen to have handy "The 8086 Family Users Manual"
published by Intel in 1979.

On page 2-14:

"Dedicated and Reserved Memory Locations

Two areas in extreme low and high memory are dedicatied to specific
processor functions or reserved by Intel Corporation for use by Intel
hardware and software products.  As shown in figure 2-21, the location
are: 0H through 7FH (128 bytes) and FFFF0H through FFFFFH (16 bytes). 
These areas are used for interrupt and system reset processing.  8086
and 8088 application systems should not use these areas for any other
purpose.  Doing so may make these system incompatible with future Intel
products."

This would tend to rule out IBM putting stuff at the top 16 bytes.

However, I have seen systems that use "ghost" ROM, where ROM memory from
elsewhere is made to temporarily appear at a specific location in the
memory space.  The Data General line did that, IIRC.

It's been too many years since I looked at this sort of thing in any
detail to remember.

--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list