2010-12-15 80 views
0

En utilisant Assemply je besoin d'un code simple qui remplissent un tableau à 2 dimensionsComment remplir un tableau bidimensionnel avec des points flottants?

Mise à jour: que ce que je suis arrivé à ce jour. Mais j'ai quand même un problème pour imprimer le tableau!

.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 
+1

Quelle architecture? Simple ou double précision? Veuillez clarifier ce que vous demandez, ce que vous avez déjà fait et la nature exacte du problème que vous rencontrez. –

+0

c'est une seule précision. Le problème dit que: 1- Obtenir l'entrée N comme la longueur de la rangée de tableau. 2- chaque rangée a N + 1 item. Cela en fait un tableau [N] [N + 1]. 3- Demander à l'utilisateur de remplir le tableau. 4- imprimer – iTurki

+0

J'ai oublié de dire que nous utilisons un MIPS Arch. Lang. – iTurki

Répondre

0

J'ai trouvé le problème.

C'était dans la procédure d'impression. La condition de ramifier pour sortir était erronée.

Merci @blackbear & @Carl pour passer votre temps à essayer de me aider :)

+0

de rien;) – BlackBear

0

Utilisez 2 boucles, une pour les colonnes et une pour les lignes. Étant donné array[a][b] le décalage de array[x][y] est x + y*a

+0

Merci, mais cela n'a pas été utile.S'il vous plaît lire les commentaires ci-dessus – iTurki

+0

@ 2rk: Je ne peux pas faire votre code, le mien est juste une suggestion. Si vous êtes déjà en train de coder mais que vous rencontrez des problèmes, postez votre problème ici, nous vous aiderons. ;) PS: @Carl est juste – BlackBear

+0

@BlackBear J'ai ajouté un code. vérifiez-le s'il vous plaît. – iTurki