【问题标题】:IEEE 754 in MIPS w/o FPUIEEE 754 in MIPS w/o FPU
【发布时间】:2013-05-23 18:26:28
【问题描述】:

对于家庭作业,我应该将存储在数据段中的单精度 IEEE 754 数字乘以 4 并将结果存储回来。我完全理解 IEEE 754 的工作原理以及如何完成这个简单的乘法(Exp +2)。

但是,我无法弄清楚我应该如何使用 32 位二进制文​​件,因为 MIPS 似乎不支持二进制表示,并且从数据段中读取 32 个 0 和 1 似乎有点对我来说有点复杂,特别是因为我们应该写下指令而不是上传程序。

除了愚蠢地逐个处理位之外,还有什么办法可以弄乱二进制 IEEE754 表示?我不允许使用任何浮点运算,应该忽略溢出等。

【问题讨论】:

    标签: assembly mips ieee-754


    【解决方案1】:

    您可以分组操作这些位。例如,您可以通过屏蔽(使用逻辑与)然后移位来提取选定的位。您可以通过删除现有位值(使用 AND)将特定位放回原处,将要放回的位移回正确的位置,然后组合(使用 OR)。

    逻辑与、或、左移和右移的组合允许您将位作为一个大组进行操作。

    例如,要从 32 位无符号值中提取四个高位,与 F0000000 进行与运算,然后右移 28 位。用 Y 替换 X 的四个高位,用 0FFFFFFFF 替换 X,然后用 Y 右移 28 位 OR 它。以此类推。

    【讨论】:

    • 感谢您的建议,但我的意思是如何将 ieee754 放入非 fpu 寄存器。既然你提到了十六进制值,我可以自己回答实际问题:当然我必须加载 32 位 iee754 的 int 解释。愚弄我:P
    猜你喜欢
    • 2017-07-21
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 2012-03-14
    相关资源
    最近更新 更多