Итак, я работаю над проектом, и он включает в себя обход 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