Ошибка MIPS в: неверное значение счетчика программы: 0x00000000 - PullRequest
0 голосов
/ 27 мая 2018
test_1:
    addi $sp, $sp, -4
    sw $ra,  0($sp)

    jal test_2

    lw $ra,  0($sp)
    addi $sp, $sp, 4
    jr $ra

test_2:
    addi $sp, $sp, -4
    sw $ra,  4($sp)

    jal test_3

    lw $ra,  4($sp)
    addi $sp, $sp, 4
    jr $ra

Ошибка: Error in : invalid program counter value: 0x00000000. Go: execution terminated with errors.

Я не понимаю, почему я получаю эту ошибку.Насколько я понимаю, test_1 создает место для одного в стеке и сохраняет его $ra.После инструкции jal test_2 мы переходим к test_2 и здесь test_2 освобождает место для секунды $ra (-4 -4 = -8).

Что я делаю не так?

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