segmented memory models

Sean Conner spc at conman.org
Mon Aug 4 16:06:17 CDT 2008


It was thus said that the Great Tony Duell once stated:
> > to me to be reacting to the "status quo", not creating a bad design. 
> > 
> > CPUs need to fetch vectors from a fixed address.  Anywhere you put them 

  Some CPUs added a register to point to the vector table.  The 80286 and
68010 (and above) did this.  The default location is the fixed locations
used on the 8086 and 68000.

> > will offend someone.  I think Intel putting them at the bottom sounds 
> > like a fine design, at least in the '70s.  'C' and it's desire to have 
> > address 0 be NULL was not around on the micros, and putting it at the 
> 
> I wasn't aware that this was a requirement of C, or any other language.

  The C Standard say the token "0" (in a pointer context) is to be
translated to a null address in the target architecture, and in most
implementations, that address is indeed 0, but it doesn't have to be.

  Also, dereferencing such a pointer causes undefined behavior, which means
what happens really depends upon the C compiler and underlying hardware.

  -spc ("Oooh, look at that magic smoke ... I just have derefenced a NULL
	pointer ... ")



More information about the cctalk mailing list