Мне дали код, который нужно было переставить для запуска, но я продолжаю получать сообщение об ошибке даже после перестановки.
.text
main:
addi $sp, $sp, -8
sw $ra, 0($sp)
sw $s0, 4($sp)
addi $s0, $zero, 0
addi $a0, $zero, 2
loop:
beq $a0, $0, end
jal fun
add $s0, $s0, $v0
addi $a0, $a0, -1
j loop
end:
addi $v0, $s0, 0
lw $ra, 0($sp)
lw $s0, 4($sp)
addi $sp, $sp, 8
jr $ra
fun:
addi $sp, $sp, -8
sw $ra, 0($sp)
sw $a0, 4($sp)
slt $t0, $0, $a0
beq $t0, $0, base
addi $a0, $a0, -1
jal fun
j done
base:
addi $v0, $zero, 0
done:
lw $ra, 0($sp)
lw $a0, 4($sp)
addi $sp, $sp, 8
add $v0, $v0, $a0
jr $ra
Программа ничего не выводит, но я знаю, что она должна завершиться.Тем не менее, я получаю сообщение об ошибке, в котором указано неверное значение счетчика программы: 0. Как я могу это исправить?