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.

--Chuck

Reply via email to