.text .globl skip # This is added so that you can print the address of skip in SPIM main: addi $sp, $sp, -8 sw $ra, 0($sp) sw $s0, 4($sp) addu $s0, $a0 $zero beq $a1, $zero, skip jal bar skip: addu $v0, $zero, $zero loop: lbu $t0, 0($s0) #Note the bug fix, was "loop: lbu $t0, 0$($s0)" beq $t0, $zero, done addi $v0, $v0, 1 addi $s0, $s0, 1 j loop done: nop nop lw $s0, 4($sp) lw $ra, 0($sp) addi $sp, $sp, 8 jr $ra bar: lw $t0, 8($ra) lw $t1, 16($ra) sw $t0, 16($ra) sw $t1, 8($ra) jr $ra