-2

我在 MIPS 中写了一个 add 函数:

.data

str:       .asciiz  "\n"

.text

.globl main

main:

    li $s0, 18

    addi $sp, $sp, -4

    sw $s0, 0($sp)

    li $v0, 1

    la $a0, add

    syscall



    li $v0, 4

    la $a0, str

    syscall


    addi $sp, $sp, 4

    jr $ra

add:

    lw $t0, 0($sp)

        add $v0, $t0, $t0

        jr $ra

当我尝试模拟它时,我得到了错误的答案,例如 4194388。我做错了什么吗?

4

1 回答 1

0

看起来您正在尝试使用系统调用来调用您的添加例程。

调用你的例程的正确方法是jal add

于 2013-11-05T02:08:22.997 回答