浮点指示

时间:2015-11-24 11:06:57

标签: assembly converter mips

可能我不知道如何在浮点中使用指令。我想读一个浮点数,进行一些操作并再次将结果打印为浮点数,但是SPIM在这里给出了一个错误"null"。我想每当使用浮点指令时,我必须给两个mov.s $f0, $v0寄存器,对吧?但是,如何复制$f中的内容,因为系统调用需要?

这是我的代码

$v0

1 个答案:

答案 0 :(得分:1)

系统调用6(read_float)返回$f0中的值,而不是$v0。因此,您mov.s $f0, $v0已经具有$f0中的值。

,因此您的mtc1 $v0,$f0 # Move the value of $v0 into $f0 cvt.d.w $f12,$f0 # Convert the integer value in $f0 into a double-precision # floating-point value and place the result in $f12 是不必要的

如果你在GPR中有一个整数值并希望将其转换为浮点并将其放在一个浮点寄存器中,那么你可以按如下方式进行:

cvt

向程序员咨询 MIPS32™架构 第二卷:MIPS32™指令集如果您想了解有关mtc1.item { display:flex; flex-flow: row wrap; } 指令的更多信息。