mips汇编中的128位整数

时间:2014-05-26 14:13:31

标签: assembly mips32 128-bit

我必须在MIPS汇编(32位)中编写一个程序,检查是否可以在ieee754中准确写入固定点十进制数。
我知道浮点数的结构,因此我这样做:

  1. 用逗号将数字拆分为整数和小数部分
  2. 将它们分别转换为整数(从第一个到左边再乘以10然后再添加)
  3. 使用此int右移位寄存器,直到它为零(知道位数)
  4. 但是,如果程序得到数字,问题就会开始,让我们说3个前导数据然后我们有40个零。它仍然可以准确写入,但在我的程序中无法检测到(因为我将整数存储为32位数字)。所以我的问题是:

    • 如何正确编写将单个数字改为整数的部分?

    要记住,我必须执行2次操作:将我拥有的所有内容乘以10,然后再添加另一个数字

    可以通过逐步移动所有内容然后在每4个寄存器上指示溢出来完成吗? (如果ov == 1然后向左移动更高的reg并放一个?)
    也许有一种更好的方法可以让我们使用乘法程序中的hi和low寄存器进行操作?

    感谢任何帮助:)

0 个答案:

没有答案