这些是我的代码行:
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
有人知道为什么这条线不能正常工作?
答案 0 :(得分:0)
快速google for MIPS mfc1 quickly shows mfc1
从协处理器1移动,以及mfc1
和mtc1
(移动< em> to coproc 1)将FP寄存器放在第二位(无论它是源还是目的地)。
mfc1 $v0, $f4 # set $v0 = $f4
(注意,不要在你的asm中正常写这样的注释。请说明为什么指令在那里,而不是你在装配手册中查找的东西,除非有一些棘手或不明显的东西。您问题中的评论很好,例如select read_float
比put 6 into $v0
更有意义
你的汇编程序提供了如此无用的错误消息,甚至没有指向正确的方向,这太糟糕了。大多数装配工都比这更好。