汇编浮点代码错误

时间:2016-08-24 07:50:40

标签: assembly mips qtspim

这些是我的代码行:

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

编译器出现以下错误:

文件/ home / robertina / Scrivania / Labo Spim / mioprogetto / mioprogetto.s第132行的

spim :(解析器)语法错误       mfc1 $ f4,$ v0

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

1 个答案:

答案 0 :(得分:0)

快速google for MIPS mfc1 quickly shows mfc1从协处理器1移动,以及mfc1mtc1(移动< em> to coproc 1)将FP寄存器放在第二位(无论它是源还是目的地)。

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

(注意,不要在你的asm中正常写这样的注释。请说明为什么指令在那里,而不是你在装配手册中查找的东西,除非有一些棘手或不明显的东西。您问题中的评论很好,例如select read_floatput 6 into $v0更有意义

你的汇编程序提供了如此无用的错误消息,甚至没有指向正确的方向,这太糟糕了。大多数装配工都比这更好。