Corrections:
y > 0 \&\& x / y >= 10
should read
y > 0 && x / y >= 10
Corrections:
addi $t0, $t0, 42
sw $t0, 0($sp)
addi $t0, $t0, 57
sw $t0, 4($sp)
addi $t0, $t0, 101
sw $t0, 8($sp)
should be
addi $t0, $zero, 42
sw $t0, 0($sp)
addi $t0, $zero, 57
sw $t0, 4($sp)
addi $t0, $zero, 101
sw $t0, 8($sp)
Corrections:
void multiply_and_print(int a, int b)x
has a stray x that you should delete with a text editor
before you compile the program.
Corrections:
clz rdest, rsrc --count leading zeros in rdest, put result in rsrcIt should say:
clz rdest, rsrc --count leading zeros in rsrc, put result in rdest
addiu $sp, $sp, 8near the end of main should be
addiu $sp, $sp, 12(The mistake doesn't prevent the program from running properly.)