汇编浮点代码错误

assembly floating point code error

这些是我的代码行:

li  $v0, 6      # select read_float     
syscall         # run read_float
jal p4          # run println
mfc1 $f4, $v0

编译器给出以下错误:

spim:文件 /home/robertina/Scrivania/Labo Spim/mioprogetto/mioprogetto.s 第 132 行的(解析器)语法错误 mfc1 $f4, $v0

有人知道为什么这条线不能正常工作吗?

用于 MIPS mfc1 quickly shows 的快速 google mfc1 从 协处理器 1 移动 ,并且 mfc1mtc1(移动 coproc 1)将 FP 寄存器放在第二位(无论它是源还是目标)。

mfc1    $v0, $f4        # set $v0 = $f4

(注意,通常不要在你的 asm 中写这样的注释。描述指令存在的原因,而不是你可以从汇编手册中查找它的东西,除非有一些棘手或不明显的东西它。您问题中的评论很好,例如 select read_floatput 6 into $v0)

更有意义

很遗憾,您的汇编程序给出了如此无用的错误消息,甚至没有为您指明正确的方向。大多数汇编器都比这更好。