multtest: addi $v0, $0, 0 #initial clearing of return value multtester: beq $a1, $0, multdone #break if necessary slt $t0, $a1, 0 #check to see if $a1 is negative addi $t1, $0, 1 beq $t0, $t1, multneg #go to negative handler add $v0, $v0, $a0 #increment $v0 by $a0 addi $a1, $a1, -1 #decrement $a1 by 1 j multtester #jump back to the test multneg: sub $v0, $v0, $a0 addi $a1, $a1, 1 j multtester multdone: jr $ra #when done, go back to caller