MIPS 浮点加法示例

发布于 2024-11-15 02:22:27 字数 378 浏览 3 评论 0原文

我正在尝试编写一个MIPS程序,它将两个浮点整数相加,第一个浮点整数是-8.0的二进制补码,

第二个是浮点整数2.0,

所以首先我将-8更改为二进制补码,即1000,然后我将其转换为十六进制,这样我的十六进制将是 0x00000008

我的 MIPS 程序到目前为止看起来像这样,

l.s $f1, 0x00000008
l.s $f2, 15.0
add.s $f0, $f1, $f2

我收到一个错误,显然有什么帮助吗?

另外,在命令 ls $f2, 15.0 中加载浮点整数时,我感到很困惑,我知道这是不对的。如何将 15 作为浮点数加载到注册表中?我的终极问题又是如何使用 MIPS 将两者相加。谢谢,

I am trying to write a MIPS program that will add two floating point integers togerther, the first floating point integer is the two's complement of -8.0

the second is the floating pointinteger 2.0

so first I changed -8 to two's compliment which is 1000 then I converted that to hex so my hex would be 0x00000008

my MIPS program so far looks like this

l.s $f1, 0x00000008
l.s $f2, 15.0
add.s $f0, $f1, $f2

I get an error on this obviously any help?

Also I am confused when loading in floating integers in the commant l.s $f2, 15.0 I know this is not right. how can I load 15 into the registry as a floating point? and again my ultimate question how can I add the two together using MIPS. thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

滥情稳全场 2024-11-22 02:22:27

首先,浮点数 8 并不表示为 0x00000008。请记住,浮点数是使用 IEEE 754 标准表示的。

如果要添加 0x8 和 0xF,那么您应该:

  1. 将它们中的每一个加载到 fp 寄存器中(使用 ls
  2. 使用 cvt.sw 指令(从 word 转换 single) )将它们转换为浮点寄存器。
  3. 添加

To start with, the floating point number 8 is not represented as 0x00000008. Remember that floating point numbers are represented using the IEEE 754 standard.

If you want to add 0x8 and 0xF, then you should:

  1. Load each of them into a fp register (using l.s)
  2. Use the cvt.s.w instruction (convert single from word) to convert them into floating point registers.
  3. add
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文