Answer from cs61c-ea (Jeff Decker 16217761) for Question 1 The technique/convention that reduces register spilling with procedure calls is to provide 4 registers that are used for the arguments ($a0-$a3) and 2 registers that are used for the return value ($v0-$v1). By using these we can minimize the number of registers that need to be saved on the stack.