Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在MIPS中求浮点的指数_Assembly_Mips - Fatal编程技术网

Assembly 在MIPS中求浮点的指数

Assembly 在MIPS中求浮点的指数,assembly,mips,Assembly,Mips,我被困在组装作业的某个部分 我读浮点值,用牛顿法做平方根函数。我的公式运行良好,但从浮点数中提取指数时遇到问题。(对于我在循环中的初始猜测) 我想我应该在浮点上使用AND掩码或者某种左移操作,但是我在网上找到的所有信息都是用来处理整数的 我不是新来的汇编,但新来的MIPS,所以任何帮助将不胜感激。谢谢。总结一下: 浮点寄存器中有一个32位单精度浮点数字 您希望将其作为32位整数进行操作 只能操作普通寄存器中的整数值 如果直接从浮点寄存器移动到普通寄存器,它将被转换 似乎无法直接从浮点寄存器获

我被困在组装作业的某个部分

我读浮点值,用牛顿法做平方根函数。我的公式运行良好,但从浮点数中提取指数时遇到问题。(对于我在循环中的初始猜测)

我想我应该在浮点上使用AND掩码或者某种左移操作,但是我在网上找到的所有信息都是用来处理整数的

我不是新来的汇编,但新来的MIPS,所以任何帮助将不胜感激。谢谢。

总结一下:

  • 浮点寄存器中有一个32位单精度浮点数字
  • 您希望将其作为32位整数进行操作
  • 只能操作普通寄存器中的整数值
  • 如果直接从浮点寄存器移动到普通寄存器,它将被转换

似乎无法直接从浮点寄存器获取它。通常如何将值输入寄存器?

提示:您可以将32位浮点数视为32位整数。我是否可以将浮点数寄存器向左或向右移位?或者我需要将它们复制到一个int寄存器来调制它们吗?指令集引用将告诉您是否存在这样的指令。因为它是用来做家庭作业的,所以我猜它是一个受限子集,所以不需要很长时间就能弄清楚。无论如何,如果你知道如何把它们复制到一个整数寄存器中,这将是一个优化。如果我把它复制到一个整数寄存器中并正确地移位,我应该留下指数。这就是你想要的吗?试一试不是更快吗?但,是的,适当的移位应该留给你们。我真的不知道我该怎么做,我可以看出你们在试图微妙地帮助,但我只是不知道我下一步该怎么做。你们可以用
LW
将一个整数从内存加载到一个“正常”寄存器,然后用
SW
将它存储回。我想你也可以从内存中加载和存储浮点数(未修改的!),对吧?啊,好吧,这就更有意义了。我想我没有足够的时间来适应事情的发展。我想我可以从这里开始。非常感谢你的帮助。