我正在尝试在MIPS Assembly中创建一个数组,然后将所有元素添加到一起。但是,当我尝试组装以下内容时,它会说
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:
谢谢!
答案 0 :(得分:9)
答案 1 :(得分:3)
错误告诉您不能将数据(.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