> For instance, the AGC (like many 1960s computers) didn't have a stack, so you had to keep track of the return address for each subroutine call.
> I managed to get everything to fit in one bank by reusing these 16 words for multiple purposes, but I spent a lot of time debugging problems when a variable clobbered a location still in use.
It could be fun to make a slightly higher level ad-hoc assembly language for solving these problems. For example SSA with basic blocks.