总结一个数组的内容

时间:2013-09-26 04:54:57

标签: mips

我遇到了在循环中对数组内容进行求和的问题。

loop3:      
    beq $t5, $t1, loop4      #if $t5 is equal to $t1, then goto exit

    lw $t6, 0($s0)      #load contents of $s0 to $t6
    add $t6, $t6, $t6     #sums the contents

    addi $s0, $s0, 4      #increments pointer of pArry
    add $t5, $t5, 1      #increments counter of loop3
    j loop3

1 个答案:

答案 0 :(得分:1)

你没有对所有元素求和,因为你在每次迭代开始时用当前数组元素覆盖$t6lw $t6, 0($s0) #load contents of $s0 to $t6

将当前元素加载到其他(免费)寄存器中:

lw $t7, 0($s0)      #load contents of $s0 to $t7
add $t6, $t6, $t7   #sums the contents

确保在循环开始前清除$t6