MIPSアセンブリで配列を作成してから、すべての要素を一緒に追加しようとしています。しかし、以下を組み立てようとすると、
Read_array行1の位置7にエラーがあります:「。Word」ディレクティブをテキストセグメントに表示できませんアセンブル:操作がエラーで完了しました。
これが私のアセンブリです:
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:
ありがとう!
エラーは、コードセグメントにデータ(.Word 3、2)を配置できないことを示しています。 「テキストセグメント」は「コードセグメント」を意味する古いスタイルの用語です http://en.wikipedia.org/wiki/Code_segment
アセンブラは、データセグメントを宣言し、そこに配列を配置することを求めています。 Mipsアセンブラをやったことはありませんが、このようなものになると思います
.data
list: .Word 3, 2, 1, 0, 1, 2
.text
start:
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 o