[net.unix-wizards] ints vs pointers

henry (12/10/82)

The Three Rivers Computer Corporation "Perq" has 32-bit pointers and
16-bit integers.  No, it is not reasonable to try to make int 32 bits;
the machine just doesn't cooperate very well.  This leads to interesting
fun trying to get a C compiler up on it;  my MSc thesis started out to be
the implementation of such a compiler and wound up being a study of the
problems involved.  While C does not have any deep assumptions about
ints and pointers being the same size, the PCC compiler does... among
its other machine-dependencies.  [Would-be PCC hackers are cautioned
that I no longer remember all the gory details, and don't particularly
want to refresh my memory.]

The Perq also has other enjoyable features, such as having no such thing
as pointer-to-character.  The machine is word-addressed.  Nor can you
pull the standard word-addressed-machine trick of using spare bits in
the pointer to hold a byte number:  there are no spare bits.  This one
is not unsolvable, but it's hard, and the results are spectacularly
inefficient unless you add microcode to help.  Altogether not a very
well-thought-out machine.  Although it sure does do RasterOp quickly...