Я хочу, чтобы мой код печатал длину строки, но вместо этого он, кажется, вводит бесконечный цикл.Я не могу понять, где моя ошибка.
.data
STR_str:
.asciiz "Hello"
#################################
main:
la $a0, STR_str
jal string_length
add $a0, $v0, $zero
li $v0, 1
syscall
############################################
string_length:
li $v0, 0 # initialize the count to zero
str_lenght_loop:
lb $t2, 0($a0) # load the next character into t2
loop_strlen: beqz $t2, exit # check for the null character
addi $a0, $a0, 1 # increment the string pointer
addi $v0, $v0, 1 # increment the count
j loop_strlen # return to the top of the loop
exit:
jr $ra