[comp.arch] Registers in memory

mbjr@maxwell.ece.cmu.edu (Mauricio Breternitz) (07/28/89)

	The (now ancient) IBM 1130 also had the three index registers
at memory locations 1, 2, 3

				Mauricio

jgd@csd4.milw.wisc.edu (John G Dobnick) (07/29/89)

From article <8907281547.AA28878@maxwell.ece.cmu.edu>, by mbjr@maxwell.ece.cmu.edu (Mauricio Breternitz):
> 	The (now ancient) IBM 1130 also had the three index registers
> at memory locations 1, 2, 3

The (even more ancient) IBM 1620 (model II) not only had index registers
in memory (reasonable, since it was a memory-to-memory machine), but it
had two software-selectable "banks" of them.  "Software-selectable" meaning
the program could select one bank, the other bank, or *neither* bank of
index registers.  One could also programatically turn indirect addressing
on or off.   And, of course, it used base-10 arithmetic -- none of this
binary nonsense!

Interesting machine.
-- 
John G Dobnick
Computing Services Division @ University of Wisconsin - Milwaukee
INTERNET: jgd@csd4.milw.wisc.edu
UUCP: <backbone>!uwvax!uwmcsd1!jgd

"Knowing how things work is the basis for appreciation,
and is thus a source of civilized delight."  -- William Safire

clements@bbn.com (Bob Clements) (07/29/89)

From article <8907281547.AA28878@maxwell.ece.cmu.edu>, by mbjr@maxwell.ece.cmu.edu (Mauricio Breternitz):
>      The (now ancient) IBM 1130 also had the three index registers
> at memory locations 1, 2, 3

The not-quite-so-ancient-as-an-1130 DEC PDP-5 had the Program Counter
in core memory, at location zero.

The bootstrap loader (which read programs at 110 BPS from the reader
of the Model 33 TTY) used this feature to transfer to the newly
loaded program.  Just read a datum into location zero, and suddenly you
were no longer running in the bootstrap.

The PDP-8, largely compatible with the PDP-5, had its PC in flipflops.
So the bootstrap had to recognize stores to zero and treat them as
jumps.

/Rcc
Bob Clements, K1BC, clements@bbn.com