MIPS浮印

MIPS float printing

我在 MIPS 中编写了这段代码来计算双精度浮点数的 N 数之和。 但是当我打印结果时它打印 0.00000 虽然我在内存中看到它是正确的结果。

谁能帮我解决这个问题?

#architecture ex.2

.data
first: .asciiz "Give the number of the summation"
m1: .asciiz "Give the"
m2: .asciiz "th number."
nl: .asciiz "\n"
final: .asciiz "The sum is"





.text
main:



li $v0, 4          
la $a0, first      
syscall
li $v0,5
syscall
move $t1,$v0
li $v0, 4          
la $a0, nl      
syscall


li $t2,0
li $t0,1

mtc1.d $t2, $f2
cvt.d.w $f2, $f2  



Sumin:

li $t3,0

li $v0, 4          
la $a0, m1      
syscall
li $v0,1
move $a0,$t0
syscall
li $v0, 4          
la $a0, m2      
syscall
li $v0, 4          
la $a0, nl      
syscall

li $v0,5
syscall
move $t3,$v0

mtc1.d $t3, $f14
cvt.d.w $f14, $f14

add.d $f2,$f2,$f14


addi $t0,$t0,1
ble $t0,$t1,Sumin

Sumexit:

li $v0, 4          
la $a0, final      
syscall
li $v0, 4          
la $a0, nl      
syscall


li $v0,2
mov.d $f12,$f2
syscall

END:jr $ra

我只建议在 $f12 中打印双精度数,而不仅仅是浮点数

li $v0, 3
mov.d $f12, $f2
syscall