我想分割$tn
个寄存器中的两个值。
我必须将这两个值除以得到一个双重结果,但函数div
只返回该分区的整数部分,任何人都可以帮忙吗?
我是否需要将$t1
和$t2
转换为$f0
和$f2
?
我该怎么做?
li $t1,2
li $t2,5
div $f0,$t2,$t1
这给了我一个错误,因为它希望$tn
值不是$fn
值......
答案 0 :(得分:10)
您必须将存储在通用寄存器中的整数移动并转换为浮点或双寄存器。
假设您的号码存储在$a1
,要转换为双重对($f12
,$f13
),您必须发出:
mtc1.d $a1, $f12
cvt.d.w $f12, $f12
要将其转换为单精度浮点数($f12
),您需要:
mtc1 $a1, $f12
cvt.s.w $f12, $f12