比较和计算两个数组索引

时间:2016-04-08 18:52:03

标签: arrays mips

我只包含了我的一部分代码,缺少的是.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

0 个答案:

没有答案