Answer from cs61c-av (Kenneth Wong 16192104) for Question 1 To stop register spilling with procedure calls, a stack is used called $sp. When a procedure is called, then $sp makes room for the callee's variables that will be overwritten in the new function, and stores them. When the function being called is finished, it is popped off the stack. Ways in which global variables stay static, are that there is another register called $gp.