CDC 6600 - Why so awesome?
cclist at sydex.com
Tue Jun 21 17:45:19 CDT 2016
On 06/21/2016 02:27 PM, Charles Anthony wrote:
> So the extra credit exercise is to figure out how to write a
> subroutine that prints out the value of all of the registers; ie.
> how can you save *all* of the register values to memory?
That one was old even in the 60s. You use the RJ (return jump)
instruction and one of the B-register conditionals and basically add a
B-register to itself to effect a left-shift.
Restoring the registers was more interesting, IMOHO.
FWIW, MACE/KRONOS also had a XJ system call to effect the save a bit
more directly--you just grab the registers from the exchange package and
stash them away. But you needed CEJ for that to work, though I suspect
a special MTR function could have done as well in SCOPE.
More information about the cctalk