Answer from cs61c-av (Kenneth Wong 16192104) for Question 3 At first I found the $sp stack a bit confusing. But after reading it over a dozen times, I grasped it completely. What made it difficult to see was that I thought in a recursive function, the $sp which was storing the variables, would be overwritten. But now I understand that $sp is a pointer, which keeps pointing further down the stack for each recursive call.