sizeof

Stanley Friesen friesen at psivax.UUCP
Tue Feb 5 03:40:33 AEST 1985


In article <7904 at brl-tgr.ARPA> cottrell at nbs-vms.ARPA writes:
>/*
>Bob Larson has a machine with 48 bit ptr's & 32 bit int's & long's.
>What is this beast? Someone also said that ptr's to different objex
>may be different sizes. Where & why? I realize that a certain machine
>may desire this to make implementation as efficient as possible, but I
>think the designers should just bite the bullet and make all ptr's
>the same size.

	I dont't know about Bob Larsons's machine, but I used to use
a Honeywell mainframe.  The architecture dates back to the 60's,
and Honeywell has kept it around in the name of upward compatibility.
The machine is a *word* oriented machine with a 36 bit word(yes 36,
not 32), each instruction is one word in length, and contains 1-1/2
addresses, a memory address and a register specifier.   A word pointer
is simply a word containing a memory address in the same bits holding
one in an instruction word, the last 17 bits of the word.  Such a word
can be used with any normal indirection mode(there are three on these
machines). If you want byte addressing(9-bit bytes *or* 6-bit bytes),
you must use a special "tagged" indirect mode in which the indirect
word(the pointer) contains a normal address plus a special field
specifying the byte within the destination word. Because of the
way "tagged" indirection works it may be necessary to make a *copy*
of the pointer to use for dereferencing if you intend to re-use it.!!
This is what I call brain-damaged, but it is *real*, and a Honeywell
C-compiler must put up with different types of pointers for ints and
chars, *or* make chars 36 bits.
-- 

				Sarima (Stanley Friesen)

{trwrb|allegra|cbosgd|hplabs|ihnp4|aero!uscvax!akgua}!sdcrdcf!psivax!friesen
 or
quad1!psivax!friesen



More information about the Comp.lang.c mailing list