comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: HELP ! need to insert value in array !!
Date: 1997/07/05
Date: 1997-07-05T00:00:00+00:00	[thread overview]
Message-ID: <dewar.868107828@merv> (raw)
In-Reply-To: 33be891f.47731103@nntp.ix.netcom.com


Mike said

<<Not really, at least not in the sense that there were instructions
that handled 7 bit characters specially.  The PDP10 (like its
predecessor the PDP6) had a byte pointer construction that could be
used to access any byte in a word where the byte size was specified as
part of byte pointer.  There was an instruction that would get a byte
and increment the pointer, handling word boundaries properly (a byte
could not be split across words).  Byte pointers and the associated
instructions worked equally well with any byte size up to 36 bits,
though, of course, some word sizes resulted in more wasted bits than
others.
>>

Sure, but why do you think those instructions where there (the ones to
handle odd chunk sizes). The answer is that the motivation was precisely
to allow convenient support of the 7 bit format. The use of these
instructions for any other size was rare. What happened was that there
was a requirement for supporting the 5 char/word format in the hardware,
and the designers generalized it to any byte size (rememebr this was the
hey day of extravagant CISC design).

Given this hardware support though, any compiler not supporting this
format would have been a major menace.

Really the trouble here is the lack of abstraction in the C design when
it comes to arrays. Really there should be a way of saying "allocate
an array of mumbles of length x", but there is no such capability, so
we have to make the assumption that this length can be computed as a
multiple of the element size. 

However, as we see, this assumption has definite shortcomings (e.g.
requiring extra space to be allocated to the use of padded types in
circumstances where this extra space is useless). It sure is interesting
that there definitely seems to be a hole in the standard in that this
requirement is not clearly stated (I would say not stated at all).
This is a gap that should be addressed.





  reply	other threads:[~1997-07-05  0:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <33A9C27C.22F7@post4.tele.dk>
     [not found] ` <5oci49$97g@crl.crl.com>
     [not found]   ` <866920621snz@genesis.demon.co.uk>
1997-06-27  0:00     ` HELP ! need to insert value in array !! Ralph Silverman
1997-06-28  0:00       ` Lawrence Kirby
     [not found]       ` <dewar.867554609@merv>
1997-06-29  0:00         ` Mike Rubenstein
1997-06-29  0:00           ` Robert Dewar
1997-06-29  0:00             ` Mike Rubenstein
1997-06-29  0:00               ` Robert Dewar
1997-06-29  0:00                 ` Mike Rubenstein
1997-06-30  0:00                 ` Ed Hook
1997-07-04  0:00                 ` Richard A. O'Keefe
1997-07-07  0:00                   ` Clive D.W. Feather
1997-07-01  0:00               ` Al Bowers
1997-07-01  0:00             ` Richard Kenner
1997-07-01  0:00               ` Robert Dewar
1997-07-02  0:00             ` Christian Froeschlin
1997-07-02  0:00               ` Robert Dewar
1997-07-04  0:00             ` Richard A. O'Keefe
1997-07-04  0:00               ` Robert Dewar
1997-07-04  0:00                 ` Mike Rubenstein
1997-07-05  0:00                   ` Robert Dewar [this message]
1997-07-05  0:00                     ` Larry Kilgallen
1997-07-05  0:00                     ` Mike Rubenstein
1997-07-05  0:00                       ` Mike Rubenstein
1997-07-10  0:00                     ` Alan Bowler
1997-07-07  0:00                 ` Mark H. Wood
1997-07-09  0:00                   ` Robert Dewar
1997-07-10  0:00                     ` Lawrence Kirby
1997-07-07  0:00                 ` Shmuel (Seymour J.) Metz
1997-07-08  0:00                 ` Richard Kenner
1997-06-30  0:00         ` Samuel T. Harris
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox