Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site psivax.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!vax135!cornell!uw-beaver!tektronix!decvax!ittvax!dcdwest!sdcsvax!sdcrdcf!psivax!friesen
From: friesen@psivax.UUCP (Stanley Friesen)
Newsgroups: net.lang.c
Subject: Re: sizeof
Message-ID: <301@psivax.UUCP>
Date: Mon, 4-Feb-85 12:40:33 EST
Article-I.D.: psivax.301
Posted: Mon Feb  4 12:40:33 1985
Date-Received: Sat, 9-Feb-85 04:52:20 EST
References: <7904@brl-tgr.ARPA>
Reply-To: friesen@psivax.UUCP (Stanley friesen)
Organization: Pacesetter Systems Inc., Sylmar, CA
Lines: 34
Summary: 

In article <7904@brl-tgr.ARPA> cottrell@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