La création d'accéder à un tableau en MIPS

Je suis en train de créer un tableau en MIPS de l'Assemblée, puis ajouter tous les éléments ensemble. Cependant, lorsque j'essaie de rassembler le suivant, il est dit

Erreur dans read_array ligne 1 en position 7: ".le mot" directive ne peut pas apparaître dans le segment de texte
Assembler: l'opération s'est terminée avec des erreurs.

Voici mon montage:

list: .word 3, 2, 1, 0, 1, 2
li $t0, 0x00000000  #initialize a loop counter to $t0
li $t4, 0x00000005  #last index of array
li $t3, 0x00000000  #this will hold our final sum
la $t1, list  #the address of list[0] is in $t1

loop: addi $t0, $t0, 0x00000001 #index++
  add $t5, $t0, $t0 #array index X2
  add $t5, $t0, $t0 #array index X2 again
  add $t6, $t5, $t1 #4x array index in $t6

  lw $t2, 0($t6)   #load list[index] into $t2
  add $t3, $t3, $t2 #$t3 = $t3 + $t2
  beq $t0, $t4, end
  j loop

end:

Merci!

  • Je suis conscient de certaines erreurs logiques dans ce code, mais j'ai eu ma réponse à la question. Merci!
  • C'est vraiment bizarre, IDK si cette limitation est volontaire pour protéger les débutants à partir d'un mélange de données avec le code et ayant leur programme de crash lors de l'exécution tombe dans leurs données, ou quoi. Dans la plupart des assembleurs, vous pouvez utiliser .byte / .word ou db / dd n'importe où à émettre quelle que soit octets que vous voulez à n'importe quelle position. (par exemple, pour émettre un non-codage par défaut d'une instruction pour une raison quelconque.)
InformationsquelleAutor hodgesmr | 2010-03-03