Posto il programma intero!
#Dato 1 array calcola quanti sono gli elementi dispari

.data
array: .word 3,7,2,4,8
annuncio: .asciiz "Il risultato e' "

.text
main:
addi $sp,$sp,-4 # PUSH(ra)
sw $ra,0($sp) #
add $s0,$zero,$zero #pone s0=0
add $s2,$zero,$zero #pone s2=0
addi $v0,$zero,1 #pone v0=1
la $a0,array #a0 e' l'inizio dell'array

ciclo:
lw $s0,0($a0)
jal pariodispari
add $s2,$s2,$s1 #somma s1 a s2 $v1,$v0,5 #v0 e' minore di 5?
beq $v1,$zero,esci
addi $v0,$v0,1
addi $a0,$a0,4
j ciclo # continua il ciclo

esci:
addi $v0,$zero,4 #codice stampa stringa
la $a0,annuncio #stringa
syscall #stampa
addi $v0,$zero,1 #codice stampa intero
add $a0,$zero,$s2 #metti s2 in a0
syscall #stampa
lw $ra,0($sp) #POP (in ra)
addi $sp,$sp,4 #
jr $ra #fine


pariodispari:
addi $3,$3,2
div $s0,$s3
mfhi $s4
bne $s4,$zero,diversi
jr $ra #fine procedura

diversi:
addi $s1,$zero,1
jr $ra #fine procedura