register conventions $s registers, including $sp - When calling some other function, you can expect that when the function returns, values stored in $s registers will stay the same. corollary: any function you write, have to save $s registers that you want to use ON THE STACK. $t, $a, $v (everything else) registers - subroutines will trash these, save them if you want to preserve values. either - save them on the stack alternatively - move into $s register, and move back when your function call returned. jal