我只包含了我的一部分代码,缺少的是.data部分中的数组本身为.word,以及到达endLoop分支时的退出。目标是比较两个数组索引,arrayA和arrayB,如果在特定索引处的数字匹配,则计数增加1。我的问题是,在beq $ v1,$ v0,count语句之后,arrayB被放置在寄存器中,我之前尝试添加一个nop,但它会将arrayA的索引增加两次。
main:
li $t1, 0
li $t2, 0
li $t3, 0
lw $t6,sizeA($t1)
nop
Loop:
beq $t3,$t6,endLoop
lw $v0,arrayA($t1)
lw $v1,arrayB($t1)
beq $v1, $v0,count
addi $t1, $t1, 4
addi $t2, $t2, 1
b Loop
count:
addi $t2,$t2,1
addi $t3,$t3,1
addi $t1,$t1,4
b Loop