main: li $a0,7 jal timesNine nop # set a breakpoint on this line before running timesThree: add $t0,$a0,$a0 add $v0,$t0,$a0 jr $ra timesNine: # at this point, $ra tells us where timesNine should return to add $sp,$sp,-4 sw $ra,0($sp) # store into fresh memory allocated by the add jal timesThree move $a0,$v0 jal timesThree # put the right return address for timesNine back into $ra lw $ra,0($sp) add $sp,$sp,4 jr $ra