assembly - MIPS MARS:带有浮点的奇怪错误
问题描述
当我尝试将浮点寄存器设置为标签中的浮点数时,我遇到了一个奇怪的错误。我基本上是在尝试计算我创建的具有 5 个值的排序数组的平均值。我将这五个值加在一起,然后尝试使用 $f9 寄存器将浮点数除以 5。
问题是,每当调用 ls 指令时,$f9 寄存器都会设置为我数组中的最后一个值,这会搞砸求平均值的数学运算。
.data
#STACK
floatArray: .float 0.0 : 4
five: .float 5
...
getAverage:
#GET ALL FLOATS
la $s0, floatArray #Set $s0 to start of array
l.s $f4, 0($s0) #Get float from array
l.s $f5, 4($s0) #Get float from array
l.s $f6, 8($s0) #Get float from array
l.s $f7, 12($s0) #Get float from array
l.s $f8, 16($s0) #Get float from array
#ADD ALL FLOATS AND DIVIDE
add.s $f5, $f5, $f4
add.s $f6, $f6, $f5
add.s $f7, $f7, $f6
add.s $f8, $f8, $f7
l.s $f9, five #Get float from label
div.s $f12,$f8, $f9
在 ls 调试时,$f9 寄存器设置为数组中的最后一个浮点数,而不是我在标签中设置的浮点数 5。
解决方案
推荐阅读
- java - 将 2 个哈希图添加到 Firestore 中的单个文档
- flutter - 将背景图片扩展至应用栏 Fluuter app
- excel - 即使我将大的 text.file 复制到其中,也将单元格宽度和高度设置为正常
- regex - 带 sed 的硬正则表达式
- computer-vision - Mask RCNN - 如何为数据集中的每张图像使用一个 JSON 文件?
- c++ - Libtorch C++ 和 pytorch 的不同输出
- c - 从不同于 0 的地址运行 C 应用程序
- regex - 匹配数字中的重复数字
- python - 侧输入数据未更新 - Python Apache Beam
- javascript - 如何更改我的 js 代码以使菜单正常工作