A,B,C 是长度为 6 的数组,基地址在寄存器中找到,如下所示:
A=[0 1 2 3 4 5], Base = $t0
B=[1 3 5 7 9 11] Base = $t1
C=[0 5 2 6 3 8] Base = $t2
现在对于代码本身:
add $t4, $zero, $zero
Loop: add $t5, $t4, $t1
lw $t6, 0($t5)
add $t5, $t4, $t2
lw $t7, 0($t5)
or $t6, $t6, $t7
add $t5, $t4, $t0
sw $t6, 0($t5)
addi $t4, $t4, 4
slti $t5, $t4, 20
bne $t5, $zero, Loop
我的问题是:
1.) 当添加 $t4 和 $t1 时,我们是否在每个 B[i] 中添加零?
2.) 在 mips 中添加数组时,假设add $t6, $t0,$t1
我们在做什么:
- A[i]+B[i] 用于所有索引,然后 $t6 是一个新数组?
- 或者我们只是在做 A[0]+B[0]?
3.) 你究竟如何在数组上使用 OR?