我知道如何以mips迭代数组。但是,我似乎无法弄清楚如何比较同一阵列中的两个元素?任何人都能指出我在正确的方向吗?
if(array[i] > array[i - 3])
我相信如果比比较两个寄存器更大,它将是一个分支,但我如何将数据输入两个寄存器?谢谢!
答案 0 :(得分:0)
你不能迭代一个数组......你必须将4的倍数(=> index * 4)添加到数组的内存地址。然后你可以在这个修改过的内存地址加载这个值,并将它与不同的moddified地址进行比较......
.data
array: .word 1,2,3
#Index's you want to compair
i1: .word 0
i2: .word 1
.text
MAIN:
lw $a0 i1
lw $a1 i2
li $t5 4 #load multiplier
mul $a0 $a0 $t5
mul $a1 $a1 $t5
la $t0 array
la $t1 array
add $t0 $t0 $a0
add $t1 $t1 $a1
lw $t0 ($t0)
lw $t1 ($t1)
beq $t0 $t1 TRUE