Ciao
allora non puoi utilizzare contemporaneamente .ascii e .space
o usi l'uno o l'altro
poi la procedura cosa dovrebbe dare in output?
per confrontare un carattere con lo spazio basta che fai :
beq $t1,32,strovato
dove in $t1 c'è il carattere da verificare
32 è il codice ascii dello spazio
strovato va alla label dove stampa un messaggio che ha trovato il carattere voluto
mentre l'istruzione sottostante
lb $t1,vettore2($t0)
serve per caricare il carattere
se ho capito bene la traccia
quello che dovresti fare è la seguente cosa
immetti una stringa
poi dovresti stampare le parole di ordine pari.
se ho capito bene dovresti agire nel seguente modo:
accetti una stringa
scorri la stringa fino alla fine,quindi verifica del invio, per trovare tutti gli spazi.
ad ogni spazio che trovi lunghezza parola trovata = contatore-1
puntatore parola successiva = posizione spazio + 1
ti servono
1 contatore da azzerare ogni volta che trovi uno spazio
2 vettori numerici
primo vettore offset parole cioè la posizione di inizio della parola.
secondo vettore lunghezza della parola
1 stringa di comodo servirà per stampare le parole.
poi a seconda delle parole che devi stampare ti vai a caricare una stringa di comodo dove andresti a copiare la parola da stampare.
per far ciò basta che esegui un ciclo a partire dall'offset per la lunghezza della stringa e poi la stampi.
per evitare sovrapposizioni dopo aver stampato la parola cancelli la stringa di appoggio e vai alla prossima parola.
esempio pratico:
stringa inserita = "la vita e' bella "
vettore posizioni = 0,3,8,11
vettore lunghezze = 2,4,2,5
un consiglio pratico
fai una cosa alla volta in moduli separati e quando tutto funziona unisci i vari moduli.
spero di esserti stato d' aiuto
saluti smalldragon
p.s. se ben ricordo il codice ascii per l'invio è 13