我的代码有什么问题? (在数组中添加数字)

What is wrong with my code? (adding numbers in an array)

所以,最近我一直在参加集会 类,其中一个给了我一个任务。除了最后一部分,我对所有内容都进行了编码……我只需要在给定数组中添加数字并打印总和……简单吧? 不,当我 运行 它说第 12 行由于某种原因超出范围时出现错误 =/

所以,这是我的代码:

.data

array: .word 1,2
size: .word 2
la $s0, array
lw $s1, size
li $t9, 0

.text

loop:
lw $a0, ($s0)
add $a0, $a0, $a0
addi $s0, $s0, 4
add $t9, $t9, 1
blt $t9, $s1, loop

li $v0, 1
syscall

la $s0, array.data 部分,所以它永远不会执行。

如果您使用调试器进行单步执行,您会发现您的程序从不执行数据部分中的指令,并且大概在 loop:.

处开始执行

此时,$s0 恰好仍为零(根据您的错误消息)。无论如何,它没有指向 array.