Stacks to the Rescue
lTo deal with the clobbering problem, we can save the return address and any arguments on a stack allocated at a standard place in memory.
lThe stack is typically an array, with a pointer to the top element.
lim stack_pointer save_area_loc  // initialize stack pointer

aim stack_pointer     -1         // always point to top of stack