首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIPS (或SPIM):加载浮点数

MIPS (或SPIM):加载浮点数
EN

Stack Overflow用户
提问于 2010-04-07 08:24:30
回答 2查看 38.2K关注 0票数 7

我正在做一个小的迷你编译器,同时试图在这里学习一些MIPS。这是我的问题:

MIPS有一个指令li (立即加载),它的工作原理如下

代码语言:javascript
复制
li $5,100

这将把100加载到寄存器5中。

然而,我现在需要将浮点数加载到寄存器中,并且正在努力找出一种方法来使it...since li $5,2.5不起作用。

有人有什么建议吗?

我在C中工作,我想我可以以某种方式获得我正在处理的浮点数的整数表示(即,浮点数的二进制表示==整数二进制表示),然后将“整数”加载到寄存器中,并从那时起将其视为浮点数。

也许为时已晚,但我现在被困住了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-07 08:41:28

你需要使用浮点寄存器来加载你的浮点数。

而不是:

代码语言:javascript
复制
li $5,2.5

尝试:

代码语言:javascript
复制
li.s $f5,2.5

看一下在整数和浮点寄存器之间移动的mfc1和mtc1指令。

票数 10
EN

Stack Overflow用户

发布于 2012-10-16 21:41:03

MARS 似乎没有任何将浮点立即值加载到浮点寄存器的指令/伪指令。相反,您需要将浮点值放入内存并从内存加载寄存器:

代码语言:javascript
复制
.data
fp1: .double 2.5
fp2: .double -0.75

.text   
l.d $f0, fp1
l.d $f2, fp2
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2589233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档