Programma mips progetto
Moderatori:
Paolino,
fairyvilje
25 messaggi
• Pagina 3 di 3 • 1, 2, 3
0
voti
scusate l'intromissione... Posso chiederti in che università studi?
nelle richieste, negli esempi e nelle modalità riconosco qualcosa di familiare
0
voti
@WALTERmwp io uno schema mentale me lo sono fatto. L'ho pensata così:
quello che voglio è: data una stringa di caratteri devo estrarre un carattere alla volta e vedere se questo è una vocale. In teoria potrei prendere il carattere del cognome e metterlo in un registro (t0); prendere da una stringa il primo carattere (vocale) e metterlo in un secondo registro (t1) e confrontare i due. Se sono uguali non lo voglio, quindi prendo il secondo carattere della vocale e lo confronto di nuovo con t0...E così via fino alla fine della stringa delle vocali.
Se nessuna "non-vocale" non è stata riconosciuta, passo al secondo carattere del cognome e ricomincio a scansionare la stringa della vocali.
Quando trovo un carattere diverso a quelli contenuti nella stinga delle vocali, lo salvo in un terzo registro e ho trovato la mia prima consonante che farà parte del codice fiscale.
Questo è detto a parole. A farlo in pratica (sempre che non ci sia un bug nel mio ragionamento) non è semplicissimo.
Forse mi sono incasinato la vita volendo partire direttamente dall'immissione da tastiera. Forse era più facile mettere il cognome dentro una stringa come per le vocali, cioè
Pavia
- Codice: Seleziona tutto
vocale: .asciiz "aeiou"
quello che voglio è: data una stringa di caratteri devo estrarre un carattere alla volta e vedere se questo è una vocale. In teoria potrei prendere il carattere del cognome e metterlo in un registro (t0); prendere da una stringa il primo carattere (vocale) e metterlo in un secondo registro (t1) e confrontare i due. Se sono uguali non lo voglio, quindi prendo il secondo carattere della vocale e lo confronto di nuovo con t0...E così via fino alla fine della stringa delle vocali.
Se nessuna "non-vocale" non è stata riconosciuta, passo al secondo carattere del cognome e ricomincio a scansionare la stringa della vocali.
Quando trovo un carattere diverso a quelli contenuti nella stinga delle vocali, lo salvo in un terzo registro e ho trovato la mia prima consonante che farà parte del codice fiscale.
Questo è detto a parole. A farlo in pratica (sempre che non ci sia un bug nel mio ragionamento) non è semplicissimo.
Forse mi sono incasinato la vita volendo partire direttamente dall'immissione da tastiera. Forse era più facile mettere il cognome dentro una stringa come per le vocali, cioè
- Codice: Seleziona tutto
cognome: .asciiz "rossi"
phase ha scritto:scusate l'intromissione... Posso chiederti in che università studi?nelle richieste, negli esempi e nelle modalità riconosco qualcosa di familiare
Pavia
0
voti
Non ne dubitavo...
ti do un consiglio: non portare programmi troppo difficili perché o dice che li hai copiati da internet o non li guarda nemmeno... io gli ho portato un programma che calcolava la gittata di un proiettile calcolando seno, coseno, ecc.. Ho perso un sacco di tempo. Al'esame non l'ha quasi guardato e mi ha fato un sacco di domande sull'utilizzo di Qtspim (un consiglio: usa pcspim perché non gli piace qtspim
) dove trovare i valori dei registri, del PC, i valori memorizzati ecc. Concentrati nel fare un programma semplice che mette in evidenza le tue conoscenze senza perderci la testa 
Ah... non abusare della syscall, a qualcuno ha fatto storie.

Ah... non abusare della syscall, a qualcuno ha fatto storie.
0
voti
Che bello trovare un collega così per caso. Odio quell'uomo!!!
Si, allora mi studio pcspim e vediamo se riesco a fare qualcosa con questo programma che sto facendo
Già troppo complicato per i miei gusti
Si, allora mi studio pcspim e vediamo se riesco a fare qualcosa con questo programma che sto facendo
phase ha scritto:io gli ho portato un programma che calcolava la gittata di un proiettile calcolando seno, coseno, ecc.. Ho perso un sacco di tempo.
Già troppo complicato per i miei gusti
0
voti
Non riesco ad uscire dal ciclo di ricerca.
Ho fatto due stringhe:
e messo dentro il registro t0 e t1 i rispettivi indirizzi delle due stringhe.
carico la prima lettera di "cognome" (in t2), carico la prima lettera di "voc" (in t3 e le confronto.
Se r è diverso da a, se r è diverso da e, se r è diverso da i, se r è diverso da o, se r è diverso da u, allora salva r in s0, dopo di che prendi la seconda lettera del cognome e così via. Per farlo uso la load byte unsigned (sono ascii quindi è senza segno)
Scritto com'è
se si, salta. Dopo questo salto però devo andare a prendere il byte di posizione 1 di t1 (la seconda vocale) ma non riesco a fare questo incremento. Ho provato anzichè utilizzare la costante 0, un registro e incrementare quello prima di fare il confronto ma all'assemblatore non piace perché vuole solo una costante.
Lo stesso problema si ha ovviamente quando dovrò passare alla seconda lettera del cognome.
Come faccio a risolverlo?
Ho fatto due stringhe:
- Codice: Seleziona tutto
cognome: .asciiz "rossi"
voc: .asciiz "aeiou"
e messo dentro il registro t0 e t1 i rispettivi indirizzi delle due stringhe.
carico la prima lettera di "cognome" (in t2), carico la prima lettera di "voc" (in t3 e le confronto.
Se r è diverso da a, se r è diverso da e, se r è diverso da i, se r è diverso da o, se r è diverso da u, allora salva r in s0, dopo di che prendi la seconda lettera del cognome e così via. Per farlo uso la load byte unsigned (sono ascii quindi è senza segno)
Scritto com'è
- Codice: Seleziona tutto
lbu $t3, 0($t1)
se si, salta. Dopo questo salto però devo andare a prendere il byte di posizione 1 di t1 (la seconda vocale) ma non riesco a fare questo incremento. Ho provato anzichè utilizzare la costante 0, un registro e incrementare quello prima di fare il confronto ma all'assemblatore non piace perché vuole solo una costante.Lo stesso problema si ha ovviamente quando dovrò passare alla seconda lettera del cognome.
Come faccio a risolverlo?
25 messaggi
• Pagina 3 di 3 • 1, 2, 3
Chi c’è in linea
Visitano il forum: Nessuno e 120 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


