Buenas Noches
He estado implementando este codigo que tengo en seudocodigo a Mips pero no me funciona, quien para una ayuda.
Entero vector1 [9] = {5,2,6,9,12,34,8,7}
Entero vector2 [9] = {}
Entero rangoMenor = 2;
Entero rangoMayor = 12;
Entero indiceVector1 = 0;
Entero indiceVector2 = 0;
Entero tamañoVector1 = 9;
Entero tamañoVector2 = 9;
Mientras (indiceVector1 < tam)
Si(vector1[indiceVector1] >= rangoMenor)
Si(vector1[indiceVector1] <= rangoMayor)
vector2[indiceVector2] = vector1[indiceVector1];
indiceVector1 = indiceVector1+1;
indiceVector2 = indiceVector2 +1;
FinSI
FinSI
FIN Mientras
Esto fue lo que hice y no me funciona es mas al final para imprimir se me queda en un ciclo infinito.
.data
arreglo1: .word 5,2,6,9,12,34,8,7
arreglo2: .word
.text
addi $s0, $zero, 9 # rangoMenor
addi $s1, $zero, 12 #rangoMayor
addi $t1, $zero, 0 # posicionInicialVector1
addi $t2, $zero, 0 # posicionInicialVector2
addi $t3, $zero, 9 # tamañoVector1
addi $t4, $zero, 9 # tamañoVector2
la $s2,arreglo1
la $s3,arreglo2
for: slt $t0, $t1, $t3
beq $t0,$zero, fin_for
sll $t5, $t1, 2
add $t5,$s2,$t5 #500+i*4
lw $t6,0($t5)
bge $t6,$s0, RangoMenor
RangoMenor:
bleu $t6,$s1, AsignarValorArray2
AsignarValorArray2:
sll $t7, $t2, 2
add $t8,$s3,$t8 #500+i2*4
sw $t6,0($t8)
addi $t1,$t1,1
addi $t2,$t2,1
fin_for:
loop2:
lw $t0, ($t8)
li $v0, 1
move $a0, $t0
syscall
addi $t1, $t1, 4
bne $t1, $t2, loop2
Mil Gracias