我正在编写一个 MIPS 程序,它分配两个或多个双精度浮点数的多维数组并将它们相加,但似乎我不理解双精度浮点数相加的概念。
我已经知道在使用双精度时我什至必须使用 $f 寄存器,我编写了这个简单的程序,但我不明白为什么它不能正常工作。
.text
main:
li $v0,6 # getting first number
syscall
mov.d $f4,$f0
mov.d $f12,$f4
li $v0,2
syscall
li $a0,10 # new line
li $v0,11
syscall
li $v0,6 # getting second number
syscall
mov.d $f6,$f0
mov.d $f12,$f6
li $v0,2
syscall
li $a0,10 # new line
li $v0,11
syscall
add.d $f12,$f4,$f6 # add them together and show the result
li $v0,2
syscall
li $v0,10
syscall
.data
样品运行:
**** user input : 1.22
1.22
**** user input : 4.66
4.66
-4.525653E-39
-- program is finished running --
谢谢你。