提问人:Skalwalker 提问时间:11/5/2015 最后编辑:MichaelSkalwalker 更新时间:11/5/2015 访问量:918
在程序集 Mips32 中初始化浮点值
Initializing a float value in Assembly Mips32
问:
我正在我的大学学习汇编,我需要做一个汇编代码,我需要进行一些浮点操作,到目前为止代码进展顺利,但我有一个优化问题。有没有最简单的方法可以写这个:
.data
two: .float 2
la $a1, two
l.s $f3, ($a1)
我需要这个常量值在 bhaskara 操作上相乘,所以我以这种方式初始化以使用 likemul.s $f4,$f3,$f0
答:
1赞
Alexey Frunze
11/5/2015
#1
在 MIPS32 上,只有两种方法可以将值加载到浮点寄存器中:从通用寄存器(使用 )或从内存(使用 /)。mtc1
lwc1
l.s
# mtc1 example:
li $v0, 0x3F800000 # v0 = 1.0f
mtc1 $v0, $f0 # f0 = 1.0f
评论
0赞
Skalwalker
11/5/2015
你能给我举个例子吗?
0赞
Alexey Frunze
11/5/2015
@Skal补充道。查找并使用 MIPS 指令参考。
0赞
Skalwalker
11/5/2015
谢谢。我正在使用一个,但它对我来说仍然有点模糊,它没有给出太多的用法示例。
0赞
Alexey Frunze
11/5/2015
@Skal找到“See MIPS Run Linux”,看看是否有帮助。
评论