在MIPS中将整数转换为双精度

And*_*rez 6 double integer mips

我想划分$tn寄存器中的两个值.

我必须将这两个值除以得到一个双重结果,但该函数div只返回该分区的整数部分,任何人都可以帮忙吗?

我是否需要转换$t1,并$t2$f0$f2

我怎么做?

li $t1,2 
li $t2,5 

div $f0,$t2,$t1
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误,因为它期望一个$tn值不是一个$fn值......

gus*_*bro 12

您必须将存储在通用寄存器中的整数移动并转换为浮点或双寄存器.

假设您的号码存储在$a1,要转换为双重对($f12,$f13),您必须发出:

  mtc1.d $a1, $f12
  cvt.d.w $f12, $f12
Run Code Online (Sandbox Code Playgroud)

并将它转换为单精度float($f12)你会做:

  mtc1 $a1, $f12
  cvt.s.w $f12, $f12
Run Code Online (Sandbox Code Playgroud)