Как заполнить 2-мерный массив плавающими точками? - PullRequest
0 голосов
/ 15 декабря 2010

Используя Assemply, мне нужен простой код, который заполняет двумерный массив

Обновление: Вот что я получил до сих пор.Но все же у меня проблема с печатью массива!

.data

arrayf: .word 600
msg1: .asciiz "Enter N: "
msg2: .asciiz " rows by "
msg3: .asciiz " values. Enter them: "
doneFill: .asciiz "Done with filling array\n"



.text

main:
li $v0, 4
la $a0, msg1
syscall
li $v0, 5
syscall 
move $a1, $v0   # $a1 = N   
li $v0, 1
move $a0, $a1
syscall
li $v0, 4
la $a0, msg2
syscall
move $a0, $a1   
addu $a0, $a0, 1
li $v0, 1
syscall
li $v0, 4
la $a0, msg3
syscall


la $t1, arrayf
move $t0, $a1
add $t0, $t0, 1
mul $t0, $t0, $a1   # $t0 = N * (N+1) 

fill:   
li $v0, 6
syscall
swc1 $f0, 0($t1)
addi  $t1, $t1, 4
subi $t0, $t0, 1
bnez $t0, fill
li $v0, 4
la $a0, doneFill
syscall


la $t1, arrayf
print
lwc1 $f12, 0($t1)   
c.eq.s $f12, $f30
bc1t exit
li $v0, 2
syscall
add $t1, $t1, 4
j print

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010

Я нашел проблему.

Это было в процедуре печати. Неправильное условие ветвления для выхода.

Спасибо @blackbear & @Carl за потраченное время, пытаясь помочь мне:)

0 голосов
/ 15 декабря 2010

Используйте 2 цикла, один для столбцов и один для строк.С учетом array[a][b] смещение array[x][y] равно x + y*a

...