Answer from cs61c-ew (Joo-Rak Son 16103505) for Question 1 In procedure calls, first, one can avoid spilling by employing the registers $a0-$a3 and $v0-$v1, which are parameters and return values. If he needs more, he can use the $sp, the stack pointer, to store the original register values on stack. He should only store the number of registers that he will have to use.