这些是我的代码行:
li $v0, 6 # select read_float
syscall # run read_float
jal p4 # run println
mfc1 $f4, $v0
编译器给出如下错误:
spim:(解析器)文件/home/robertina/scrivania/labo第132行语法错误spim/mioprogetto/mioprogetto
有人知道为什么这几行不能正常工作吗?
快速搜索MIPS mfc1,快速显示mfc1
是从协处理器1移动,并且mfc1
和mtc1
(将移动到 coproc 1)将FP寄存器放在第二位(无论它是源还是目标)。
mfc1 $v0, $f4 # set $v0 = $f4
(注意,通常不要在asm中写这样的注释。描述说明为什么在那里,而不是你可以从汇编手册中找到的东西,除非有一些棘手的或不明显的东西。你问题中的评论很好,例如select read_float
比put 6 into $v0
更有意义)
你的汇编程序给出了这样一个无用的错误信息,甚至没有为你指明正确的方向,这太糟糕了。