Código:
.data
cadena0: .asciiz "Introduzca 20 numeros: \n"
cadena1: .asciiz "Introduzca rango1: \n"
cadena2: .asciiz "Introduzca rango2: \n"
cadena3: .asciiz "aaa \n"
vector: .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
tamvec: .word 20
rango1: .word 0
rango2: .word 0
nir: .word 0
.text
main:
la $t1, vector
lw $s1, tamvec
lw $t4, nir
li $t2, 1
li $v0,4
la $a0,cadena1
syscall
li $v0,5 # $v0 = 5 lee un entero
syscall #pide el numero
move $s0,$v0 # dejo en $s0 el valor de $v0
sw $s0,rango1 #guarda el valor de rango 1
li $v0,4
la $a0,cadena2
syscall
li $v0,5 # $v0 = 5 lee un entero
syscall #pide el numero
move $s0,$v0 # dejo en $s0 el valor de $v0
sw $s0,rango2 #guarda el valor de rango 2
li $v0,4
la $a0,cadena0
syscall
for: bgt $t2,$s1,end
lw $t3,0($t1)
li $v0,5 # $v0 = 5 lee un entero
syscall #pide el numero
move $s0,$v0 # dejo en $s0 el valor de $v0
addu $t3, $t3,$s0
addu $t1, $t1,4
addu $t2,$t2,1
li $v0,4
la $a0,cadena3
syscall
b for
end:
addu $t1,$t1,-80
move $t5,rango1
move $t6,rango2
for2: bgt $t2,$s1,end2
lw $t3,0($t1)
if: bge $t3,$t5,else
bge $t3,$t6,else
addu $t4,$t4,1
j fi
else: addu $t1, $t1,4
b for2
fi: addu $t1, $t1,4
b for2
sw $t4,nir
li $v0,1
lw $a0,nir
syscall
end2:
li $v0,10
syscall