我正在编辑这个程序,所以它会以双点精度格式打印出值。有人告诉我用两个词来定义双精度格式的数字。但是,这是行不通的。我得到的结果是 0.0、0.0、0.0、0.0。我究竟做错了什么?任何帮助,将不胜感激!谢谢!
.data
ZERO: .double 0
ONE: .double 1
POSITIVE_MIN_DBL: .word 0x00000000 0x00100000 #2.2250738585072014 E -308
LARGEST: .word 0x000000 0x7f7fffff
POSITIVE_MIN: .word 0x00000000 0x00800000 # -3.4028235E38
POSITIVE_DENOR_MIN: .word 0x00000000 0x00000001 # denormal min, +1.4E-45
NL: .asciiz "\n"
.text
l.d $f0, ZERO
l.d $f2, ONE
div.d $f12, $f0, $f0 # f12 = 0/0 = NaN
jal printFloat
div.d $f12, $f2, $f0 # f12 = 2/0 = +infinity
jal printFloat
l.d $f12, LARGEST
jal printFloat
l.d $f12, POSITIVE_MIN
jal printFloat
l.d $f12, POSITIVE_DENOR_MIN
jal printFloat
j exit
printFloat:
li $v0, 2
syscall
la $a0, NL
li $v0, 4
syscall
jr $ra
exit: