【问题标题】:Divide integers and print out the result as a float in MIPS Assembly在 MIPS 汇编中将整数除以浮点数并打印出结果
【发布时间】:2016-10-28 05:54:22
【问题描述】:

我正在处理一个读取整数并将它们放入数组中直到输入负数的赋值。我必须找到整数的平均值,但结果必须以浮点数形式打印出来。我已经尝试了几种方法,但到目前为止,当我在 QTSimp 上运行它时,结果显示为“nan”。

这是我的代码部分

mfc1 $t6, $f1 #t6 is the sum
cvt.s.w $f1, $f1 
mfc1 $t7, $f2 #t7 is the number of ints
cvt.s.w $f2, $f2  
div.s $f0, $f1, $f2
mov.s $f12, $f0
li $v0, 2
syscall 

【问题讨论】:

    标签: assembly type-conversion mips division floating


    【解决方案1】:

    mfc1 是 从浮点移动字 (rt = fs)。您可能想要 mtc1 代替 (fs = rt)。

    【讨论】:

    • 感谢您的回答,但是,将其从 mfc1 更改为 mtc1 在我运行时仍会生成“nan”
    • 嗯,我是根据您向我们展示的代码回答的。如果您仍然得到不正确的输出,那么$t6 和/或$t7 不包含您期望的内容。使用 QtSpim 中的单步功能逐步完成计算,直到找到这些寄存器中的任何一个获得意外值的位置。
    • 我认为发布整个代码会有点过多,所以我只包含了重要的内容,但也许我应该。 $t6 和 $t7 也是对的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多