用全局变量在MIPS中编写函数?

时间:2012-04-28 22:21:15

标签: assembly global-variables mips mips32

frogger:
    jal teechar
    jal update_frog
    lw $t0,game_indicator
    li $t0, 0

好的,这是功能。我有teechar和update_frog函数完全编写和工作。我理解前两个子弹但在后两个没确定。我如何在MIPS中写下最后两个项目符号?

这是功能说明:

编写一个不带参数的MIPS函数frogger,并返回一个字符(要生成 测试更容易)。它执行以下操作:

  • 调用您的teechar读取并回显字符c。
  • 调用您的update_frog(c)。
  • 如果c非零,则将c存储在全局变量中以指示游戏已结束,以及如何进行 结束。 (当然,您必须将该全局变量初始化为零。)
  • 返回c。

这是我的代码:

frogger:
    jal teechar
    jal update_frog

对不起,我只是在考虑如何做到这一点:(

1 个答案:

答案 0 :(得分:1)

为了全局变量,要么必须通过争论,要么使用专用寄存器。由于您已指定该函数不带参数,因此只要调用了frogger,就必须保留一个寄存器来保存c的值,然后读取该寄存器中的值。

它不是高级编程语言的干净解决方案,但你现在正处于组装状态,并且可能会弄脏你的手!