On 12/10/22, ron minnich wrote:
I know branch and link was in the 360; was it earlier?
And ... anybody know
who invented it?
This came up in a risc-v meeting just now :-) My claim is that if anybody
knows, they will be in this group.
The Whirlwind used the A register for this purpose. The jump (sp =
sub-program) and conditional jump (cp = conditional sub-program)
instructions set A to the return address. The first instruction at the
target can then use ta (transfer A to storage) to write to the address
part of the return-sp instruction. It would look like this:
sp foo ; call foo
ret, ... ; come back here
foo, ta foo1 ; store return address
...
foo1, sp . ; will return to ret
Might be earlier than this, I just happen to know the Whirlwind somewhat
well. It's late 40s machine, so you probably won't find anything *much*
older.
Cheers,
aap