在 mips 中的 if 语句中使用函数的 return 值

Use the return value of a function inside a if statement in mips

如何在 mips 中的另一个函数中使用一个函数的 return 值?我知道我必须使用堆栈,但我不确定如何使用。

例如,如果我有以下代码:

int is_more_than_a_dozen(int a, int b) {
  if (sum(a, b) > 12)
    return 1;
  else
    return 0;
}
int sum(int a, int b) {
  return a + b;
}

除了在 if 语句中调用函数 sum() 之外,我知道如何做所有事情。

谢谢


编辑:

这是我的求和函数:

sum:
  add $v0, $a0, $a1
  jr $ra

您不需要使用堆栈。

注意调用函数sum,你需要寄存器$a0$a1,但是你需要的值已经在这两个寄存器中了。所以你只需要调用函数,参数已经在正确的地方。

您使用 jal 调用函数,并使用 jr 到 return 从函数调用。您可以使用 slti 设置 return 值。

http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html