[TUHS] Array index history
krewat at kilonet.net
Thu Jun 8 23:55:49 AEST 2017
On 6/8/2017 9:49 AM, Random832 wrote:
> On Wed, Jun 7, 2017, at 15:15, Arthur Krewat wrote:
>> In the days when memory and clock cycles were costly, an extra decrement
>> or subtract was not something to be taken lightly :)
> You wouldn't need a decrement per access, because the base itself could
> still be stored as the address of the "0th" element (i.e. what would be
> the "-1th" in a 0-based system). It might add some extra complexity to
> the relocator, if it's not currently possible to have a reference
> outside the bounds of an object and/or with a negative offset, but
> statically linked programs (the only kind on V7 and earlier) did not do
> any runtime relocation.
Shortly after making that statement, it occurred to me that the
preprocessor or assembler could take care of that easily.
Even better than worrying about whether arrays started at 0 or 1 in C
would be to institute bounds checking in the first place :) But again
would add lots of extra code that in the days of the origins of C was
not something you wanted to add to the memory footprint.
More information about the TUHS