标签: assembly floating-point mips
我使用以下代码来获取浮点寄存器中的数字:
mtc1.d $t3, $f3 mtc1.d $t1, $f1
然后我在它们中得到奇怪的值,例如1.67E-312,我做错了什么,在使用它之前是否必须转换值?
答案 0 :(得分:2)
我必须在使用它们之前转换它们吗?
是。 mtc1指令只是将GPR中的位复制到FP寄存器而不进行任何转换。要转换为双精度版,您可以使用cvt.d.w:
mtc1
cvt.d.w
mtc1.d $t3, $f3 cvt.d.w $f3, $f3