Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Architettura degli elaboratori e delle reti
 
[borghese] Progetto Maggio Agosto
Clicca QUI per vedere il messaggio nel forum
krowen
Ciao a tutti!
spero che qualcuno legga questo post entro breve perchè sono sull'orlo di una crisi di nervi...

Purtroppo ho cosegnato per ben 3 volte il progetto con esito negativo... il commento è che lo stile di programmazione non rispecchia la modularità... più precisamente il professore ha segnalato un segmento del mio main come esempio, codice che vi riporto qui sotto...(in fondo al post metto il main per intero così da capire meglio il contesto...)

code:
add $a3, $zero, $s0 # inserisco nel registro parametro $a3 il numero di elementi da leggere jal read # richiamo la procedura che legge i valori da tastiera add $s1, $zero, $v0 # salvo nel registro $s1 l'indirizzo del vettore allocato dalla procedura read


il commento è che ho mischiato codice della procedura con codice del main e che uso i registri con troppa libertà...
la mail si conclude con il suggerimento di consultare gli appunti e il libro per imparare come si scrive CORRETTAMENTE un programma in assembly...

l'unica differenza che noto tra il mio codice e quello degli appunti è l'utilizzo di una MOVE al posto della ADD per copiare i dati nei registri parametro...

Qualcuno per caso nota qualche eclatante errore nel pezzettino di codice che ho fornito???

code:
main: jal interfaccia # richiamo la procedura che visualizza l'interfaccia add $s0, $zero, $v0 # salvo nel registro $s0 il numero di elementi della serie add $a3, $zero, $s0 # inserisco nel registro parametro $a3 il numero di elementi da leggere jal read # richiamo la procedura che legge i valori da tastiera add $s1, $zero, $v0 # salvo nel registro $s1 l'indirizzo del vettore allocato dalla procedura read add $a3, $zero, $s1 # copio nel registro parametro a3 l'indirizzo del vettore add $a2, $zero, $s0 # copio nel registro parametro a2 il numero di elementi su cui lavorare jal ordinamento # ordino i valori inseriti per procedere con la fusione add $a3, $zero, $s1 # copio nel registro parametro a3 l'indirizzo del vettore add $a2, $zero, $s0 # copio nel registro parametro a2 il numero di elementi su cui lavorare jal stampa # richiamo la procedura di stampa add $a3, $zero, $s1 # copio nel registro parametro a3 l'indirizzo del vettore add $a2, $zero, $s0 # copio nel registro parametro a2 il numero di elementi su cui lavorare jal fusione # richiamo la procedura di fusione dei due elementi più vicini li $v0, 4 #\ la $a0, fine # stampo messaggio di fine esecuzione syscall #/ exit: li $v0, 10 # exit syscall

krowen
Martedì ho un colloquio con il professore...
aggiornerò il thread con l'esito della discussione :)

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate