Хорошо, после долгих попыток и ошибок правильный способ напечатать истинный результат:
Установите 2 регистра с плавающей запятой, используя псевдо li.s (Спасибо Полу R за указание меня в правильном направлении)
li.s $f1, 2.0
li.s $f2, 9.0
Очевидно, подготовьте к печати с плавающей точкой
li $v0, 2
При делении вместо div $t0,$t2,$t1
я должен использовать
div.s $f12,$f1,$f2
и вместо move $a0,$t0
Я должен просто
syscall
Нет необходимости перемещать, div.s распечатывает результат сразу, поэтому нет реальной необходимости перемещать содержимое $ f12 в $ a0 для печати его содержимого.
Это настоящий позор, что Марс не влияет на псевдо ли.Я должен был попробовать это на PCSPIM ...
Окончательный код:
.globl main
.text
main:
li.s $f1, 2.0
li.s $f2, 9.0
li $v0, 2
div.s $f12,$f1,$f2
syscall
li $v0, 10
syscall
Когда вы запустите его, вы получите 0.22222222, истинный результат деления 2 на 9.