Как указано в комментариях. Ваш код C недействителен. Но при условии, что вы хотите посчитать число 5 в вашем массиве, это сделает работу:
.data
s3: .word 3,5,7,5,0
.text
.globl main
main:
la $t3, s3 # load adress of s3 into $t3
li $t4, 5 # load x=5 in $t4
li $t5, 0 # load c=0 in $t5
li $t6, 0 # $t6 will be list index i starting with 0
while:
add $t7, $t6, $t3 # get adress of s3[i]
lw $t8, 0($t7) # load word from s3[i]
beq $t8, $t1, exit # if s3[i] == 0 break
bne $t8, $t4, if # if s3[i] != x jump to if:
addi $t5, $t5, 1 # increment counter
if:
addi $t6, $t6, 4 # increment list index
j while
exit:
Предполагая, что это ваш правильный C -Код:
int s3[] = {3,5,7,5,0};
int x = 5;
int c = 0;
int i = 0;
while(s3[i] != 0){
if(s3[i] == x){
c ++;
}
i++;
}