MIPS错误:程序计数器值无效:0x00000000

时间:2018-05-27 11:09:48

标签: stack mips

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)留出空间。

我做错了什么?

0 个答案:

没有答案