У меня есть программа, которая читает 2 целых числа, делит их, чтобы получить выход как float. Например, 2/3 = 0,66666666. Я написал следующую программу.Код MIPS для чтения 2 целых чисел и деления их на получение выходных данных float?
.data
prompt1: .asciiz "Enter x: "
prompt2: .asciiz "Enter y: "
floatzero: .float 0.0
.text
main:
l.s $f4, floatzero
li $v0, 4
la $a0, prompt1
syscall
li $v0, 6
syscall
add.s $f12 , $f0 , $f4
li $v0, 4
la $a0, prompt2
syscall
li $v0, 6
syscall
add.s $f14, $f0, $f4
li $v0 , 2
div.s $f16, $f12, $f14
syscall
li $v0, 10
syscall
Теперь у меня есть следующие сомнения: 1. Для 2/3 Это показывает выход составляет 2,0000000. Что я должен исправить, чтобы получить 0.66666666?
Есть ли какой-либо метод, который я могу использовать для прямого перемещения входного значения от $ v0 до некоторого $ f2. Здесь я использую add.s (которые тоже doesent, похоже, работают хорошо). ?
Почему я не могу просто вводить ввод как целое, сохранять его в целочисленном формате (например, $ a1), а затем делить его, чтобы сохранить ответ в поплавком формате?
P.S. Это моя домашняя работа, но для ее решения нужны базовые концепции. Пожалуйста помоги.
Заранее спасибо.