Quiz submission record for quiz2-2-2 at Wed Jun 30 18:36:31 2004: Your Answer for Question 1: One convention is that the registers $s0-$s7 are preserved after a function/procedure call, and $t0-$t9 may not be preserved after a procedure call. This convention reduces register spilling because when we invoke a procedure we need only store the $si registers to memory and load these back when the procedure returns. In the example in the book, it stored and restored two $ti registers, which is not necessary according to the convention. Your Answer for Question 2: If we create a programming language that cannot use recursion, I guess we have a programming language that reads code, more or less, from top to bottom, once. Because languages like MIPS can simulate recursion with merely with labels, so our language would not even have labels. We can only have leaf functions because that would introduce mutual recursion, which is also forbidden. We can eliminate storing and adjusting return addresses associated with recursion, I guess. We would never encounter infinite recursion/looping. We never have to check for base cases - we have to know exactly what we're doing. Your Answer for Question 3: I'm still somewhat confused on how jal and jr are used. Your unique submission ID is quiz2-2-2-cs61c-ck-1088645791-3152.