Sujet : Re: Why I've Dropped In
De : tkoenig (at) *nospam* netcologne.de (Thomas Koenig)
Groupes : comp.archDate : 14. Jun 2025, 11:44:16
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <102jjq0$4rmg$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13
User-Agent : slrn/1.0.3 (Linux)
Anton Ertl <
anton@mips.complang.tuwien.ac.at> schrieb:
Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
As we have discussed, the S/360 designers needed some mechanism to
allow a program to be loaded at an arbitrary location in memory.
>
Did they? Why?
I don't have a BiBTeX entry like you usually do, but you can
find "Architecture of the IBM System/ 360" by Amdahl, Blaauw and
Brooks easly.
A quote:
# Now the question was: How much capacity was to be made directly
# addressable, and how much addressable only via base registers? Some
# early uses of base register techniques had been fairly unsuccessful,
# principally because of awkward transitions between direct and
# base addressing. It wasdecided to commit the system completely
# to a base-register technique; the direct part of the address,
# the displacement, was made so small (12 bits, or 4096 characters)
# that direct addressing is a practical programming technique only
# on very small models. This commitment implies that all programs
# are location-independent, except for constants used to load the
# base registers.
That they got wrong, egregiously so, as the example with passing
a pointer to something from a COMMON block shows.