Mips Assembly Вставка поплавков в массив 3х5 - PullRequest
0 голосов
/ 20 апреля 2020

Итак, я работаю над проектом, и он включает в себя обход 2d-массива со значениями с плавающей точкой одинарной точности. На данный момент у меня есть программа для успешного создания массива 3x5 со случайными значениями с плавающей точкой в ​​каждом соответствующем индексе, но я хотел бы знать, почему значения с плавающей точкой отображаются как целые числа в массиве, а не в их исходной форме ?

Большая часть кода ниже закомментирована, поскольку я использовал пример целых чисел в массиве 1d, чтобы основать основу этого проекта.

.data
arrayf: .word
.space 60
whitespace: .asciiz "  "
newline: .asciiz "\n"

.text
la $a3, arrayf

move $s2, $a3 #moves the address of the array to s2
li $v0, 43 #float

#addi $s0, $zero, 0
#addi $t0, $t0, 5

#loop:
#syscall #generates number
#sll $t1, $s0, 2
#add $t2, $a3, $t1  #calcualtes offset
#swc1 $f0, 0($t2) 
#ddi $s0, $s0, 1
#bne $s0, $t0, loop


addi $t0, $t0, 0
addi $t2, $zero, 0
#addi $t4, $t4, 5
#addi $t7, $zero, 4
addi $t5, $t5, 0 # outer loop index
addi $t6, $t6, 0 #inner loop index
addi $t4, $zero, 3
addi $t7, $t7, 0
loop2:
#sll $t1, $t6, 2
syscall
add $t1, $t5, $t2
add $t1, $a3, $t1  #calcualtes offset
swc1 $f0, 0($t1) 
addi $t6, $t6, 1
addi $t2, $t2, 4
bne $t6, $t4, loop2
addi $t6, $zero, 0
addi $t2, $t2, 20
addi $t7, $t7, 1
bne $t7, 5, loop2






#add $t3, $t5, $t6 # x+y
#mul $t0, $t4, $t3
#mul $t0, $t7, $t0
#add $t2, $a3, $t0
#swc1 $f0, 0($t2)
#addi $t6, $t6, 1
#bne $t6, $t4, loop2
...