【发布时间】:2011-08-23 11:23:57
【问题描述】:
我想遍历一个数字数组,比如
.word 2,2,2,2,2,2,2,2,2,2,2,2,2
.word 2,2,2,2,2,2,2,2,2,2,2,2,2
.word 2,2,2,2,2,2,2,2,2,2,2,2,2
.word 2,2,2,2,2,2,2,2,2,2,2,2,2
我想确保数组中的所有内容都是值 2。 现在这些是 52 个元素,所以每次我想检查所有数组元素是否都是 2..否则明智地做其他事情。
这就是我到目前为止所做的:
add $t6,$0,$0
add $t7,$0,$0
SL:
addi $t6,$t6,4
addi $t7,$t7,1
la $t1,array
add $t1,$t1,$t6
lw $s0,($t1)
j check
slti $t8,$t7,52
bnez $t8,SL
jr $ra
check:
li $t3,2
seq $t4,$s0,$t3
beqz $t4,do_something
bnez $t4,exit
jr $ra
但是当我做一个这样的数组时
.word 0,2,2,2,2,2,2,0,2,2,2,2,2
.word 2,2,2,2,2,2,2,2,2,2,2,2,
.word 2,2,2,2,2,2,2,0,2,2,2,2,2
.word 2,2,2,2,2,2,2,2,2,2,2,2,0
即使数组不是全为 2,它仍然会退出。
【问题讨论】:
标签: arrays loops assembly mips