Article View: alt.folklore.computers
Article #682'Stuck' on one address?
From: exs... P E Smee
Date: Tue, 02 Jan 1990 11:32
Date: Tue, 02 Jan 1990 11:32
39 lines
2581 bytes
2581 bytes
The 'program that stumbled' chain reminds me of the PDP-9. (If the
original in the chain *was* about the PDP-9, forgive me -- I've missed
a few weeks.)
The PDP-9 allowed multiple-level address indirection. As was common
among machines of the time, the address part of the instruction word
was not long enough to reach all storage (and PDP-9's did not use base
registers) so your instruction could have the 'I'bit set to indicate
that the instruction's address part referred to a reachable word which
contained the actual address to be used. However, a whole word had a
bit or two more than was needed to address the maximum storage, so one
of those was designed to be an indirect bit, saying in effect 'this is
still not the address, but is rather the address of a word containing
the address'. This could be done with no designed in limit. So, you
could loop indirects. In the simplest case, say:
JMP * FOO
FOO * .
where the JMP instruction says to jump through the indirect location
labelled by FOO, and FOO contains an indirect reference to itself.
Problem was, the PDP-9 was uninterruptible, even by the STOP switch,
while it was performing address resolution. If you did this, the only
way to get the machine back was to power it off. (The fact that I use
JMP is irrelevant, ANY instruction could be used.)
Later machines avoided this by various means, and I suspect that
unpleasant experience with PDP-9's and similar machines led to them.
IBM 360/370 machines do not allow indirect addressing at all (Index,
Base, Displacement addressing is not the same thing). GE (later
Honeywell) machines incorporated a high-priority unmaskable interrupt
which would be taken if any instruction did not complete within N
(configurable) machine cycles, and which would interrupt no matter what
the state of the machine. Some others put limits on the number of
indirections allowed.
--
Paul Smee, Univ of Bristol Comp Centre, Bristol BS8 1TW, Tel +44 272 303132
Sm...@bristol.ac.uk :-) (..!uunet!ukc!gdr.bath.ac.uk!exspes if you MUST)
Technical Details
Message-ID:
<1990Jan2.113240.4424@gdt.bath.ac.uk>Path:
mbox-mo1.pugleaf.net!gmdzi!unido!mcsun!ukc!dcl-cs!gdt!gdr!exspesShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!gmdzi!unido!mcsun!ukc!dcl-cs!gdt!gdr!exspes From: exs...@gdr.bath.ac.uk (P E Smee) Newsgroups: alt.folklore.computers Subject: 'Stuck' on one address? Message-ID: <1990Jan2.113240.4424@gdt.bath.ac.uk> Date: 2 Jan 90 11:32:40 GMT Reply-To: exs...@gdr.bath.ac.uk (P E Smee) Organization: University of Bristol c/o University of Bath Lines: 39 Posted: Tue Jan 2 12:32:40 1990 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit