如何将变量值推入堆栈?

时间:2019-01-21 16:28:01

标签: assembly stack mips qtspim

在Mips程序中,我需要将变量的值存储在堆栈中,但是当我尝试将其保存到堆栈指针指向的位置时,在QtSpim中出现了语法错误(在下面显示的最后一行)。对我来说,我们可以 sw 将浮点寄存器设置为堆栈位置是对的。我真的不明白此错误的原因,将不胜感激。

li.s $f12,4.0
s.s $f12,A
addi $sp,$sp,-4
sw $ra,0($sp)
addi $sp,$sp,-4
l.s $f18,A
sw $f18,0($sp) #causes syntax error !

1 个答案:

答案 0 :(得分:0)

使用lwc1和swc1代替lw和sw进行浮点运算似乎很有效。

li.s $f12,4.0
s.s $f12,A
addi $sp,$sp,-4
sw $ra,0($sp)
addi $sp,$sp,-4
l.s $f18,A
swc1 $f18,0($sp)