1. ホーム
  2. arrays

[解決済み] MIPSで配列を作る(アクセスする)方法

2022-02-05 21:12:19

質問内容

MIPSアセンブリで配列を作成し、すべての要素を足し合わせようとしています。 しかし、次のようにアセンブルしようとすると、次のように表示されます。

Error in read_array line 1 position 7: ".word" directive cannot appear in text segment. アセンブル: エラーが発生しましたが、操作は完了しました。

これが私のアセンブリです。

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:

ありがとうございます。

解決方法は?

この行を入れる必要があります。

list: .word 3, 2, 1, 0, 1, 2

の中に .data セクションを作成します。 これを確認する クイックチュートリアル .