Я пытаюсь сохранить список чисел с плавающей запятой в динамическом массиве, используя MIPS.Программа запрашивает у пользователя количество поплавков, которое нужно ввести, а затем зацикливается при получении ввода.
С целыми числами я знаю, как это сделать, но мне трудно заставить его работать с поплавками.Вот что у меня есть сейчас.
Получает количество вводимых чисел и соответственно распределяет память:
#get number of floats to be entered
li $v0, 5
syscall
move $t0, $v0 #t0 is number of floats
#allocate the memory required
sll $a0, $v0, 2
li $v0, 9
syscall
Это цикл, в котором я собираю числа:
move $t1, $zero #idx for loop
move $t2, $v0 #t2 is address of dynamic memory
loop:
bge $t1, $t0, done #idx check
li $v0, 4
la $a0, prompt #prompt user input
syscall
# read in and store int
li $v0, 6
syscall
sw $v0, 0($t2)
addi $t1, $t1, 1 # ++idx
addi $t2, $t2, 4 #add four to move to next memory location
j loop
done:
Вывод здесь равен всего 0,0 для любого числа с плавающей точкой, которое вводится, когда это должны быть введенные пользователем числа.Я предполагаю, что я должен хранить их неправильно.Есть ли лучший способ ввести поплавки, чем этот?