On Oct 12, 2022, at 12:01 PM, 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. Zuse Z4 had instructions to jump to a subprogram and back. Unclear if they were in the original Z4 (1945) or were added later. Or how it was done. https://cacm.acm.org/blogs/blog-cacm/247521-discovery-user-manual-of-the-oldest-surviving-computer-in-the-world/fulltext Turing's ACE (1946) computer had BURY and UNBURY that push and pop a subroutine's return address from a ptr held in TS31. TS1..TS32 were "temporary storage" registers each in a recirculating memory (mercury delay line?) with a cycle time of 32µs. The paper referenced below says BURY and UNBURY were subroutines but I wonder if they were macros. From the "Turing and ACE, Lessons from a 1946 Computer Design" paper, "Inventing this concept in late 1945 was a truly amazing achievement, perhaps inspired by the recursive function theory which Turing had learnt from the work of Church, and by a slight knowledge of the nineteenth century work of Babbage."