Получение неверного значения счетчика программы: 0 - PullRequest
0 голосов
/ 22 сентября 2019

Мне дали код, который нужно было переставить для запуска, но я продолжаю получать сообщение об ошибке даже после перестановки.

.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. Как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...