Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的方法是将int寄存器溢出并加载到float寄存器中然后转换
li $t0, 2 sw $t0, -88($fp) l.s $f4, -88($fp) cvt.d.s $f6, $f4
我正在尝试翻译一个表达式
float a = 3.0; float b = a / 2;
但是上面的方法并没有给我一个正确的答案(打印出来inf)。
inf
那我哪里做错了?有什么建议么?
PS 2不知道 lhs 操作数是浮点类型,所以我无法2.0加载
2
2.0
您使用了不正确的后缀;.d将对双字(64 位)进行操作。这就是你想要的:
.d
li $t0, 2 sw $t0, -88($fp) lwc1 $f4, -88($fp) cvt.s.w $f6, $f4