.dsy:it. Pages (7): « 1 [2] 3 4 5 6 » ... Last »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Architettura degli elaboratori e delle reti (http://www.dsy.it/forum/forumdisplay.php?forumid=210)
-- Preparazione al Laboratorio F49 (http://www.dsy.it/forum/showthread.php?threadid=42442)


Posted by uLori on 28-11-2011 15:46:

il codice è chiaro..ma il calcolo matematico che avviene non lo capisco..
ad esempio se metto n=3

F(3) = 3 - M(F(3-1))
M(3) = 3 - F(M(3-1))

come si arriva ad un risultato?


Posted by CowBoy on 28-11-2011 20:17:

Avvengono diverse chiamate tra le funzioni F e M, ricorsivamente. Se vuoi puoi effettuare delle modifiche al codice (in C) per stampare le chiamate e vedere cosa accade durante l'esecuzione.

code:
1: F(3) = 3 - M(F(2)) (mettilo nello stack e chiama 2) 2: F(2) = 2 - M(F(1)) (mettilo nello stack e chiama 3) 3: F(1) = 1 - M(1) (mettilo nello stack e chiama 4) 4: M(1) = 0 (ritorna il risultato a 3, e rimettilo in esecuzione) 5: F(1) = 1 (ritorna il risultato a 2, e rimettilo in esecuzione) 6: F(2) = 2 - M(1) (mettilo nello stack e chiama 7) 7: M(1) = 0 (ritorna il risultato a 6, e rimettilo in esecuzione) 8: F(2) = 2 (ritorna il risultato a 1, e rimettilo in esecuzione) 9: F(3) = 3 - M(2) (mettilo nello stack e chiama 10) 10: M(2) = 2 - F(M(1)) (mettilo nello stack e chiama 11) 11: M(1) = 1 - F(0) (ritorna il risultato a 10, e rimettilo in esecuzione) 12: M(2) = 2 - 1 (ritorna il risultato a 9, e rimettilo in esecuzione) 13: F(3) = 3 - 1 = 2!!!


Ta-da, provare M(3) per credere!

__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..


Posted by pintu on 10-12-2011 09:51:

Sui computer del laboratorio per l'esame cosa viene usato? PCSpim?


Posted by uLori on 14-12-2011 09:51:

ragazzi qualche altro esempio di tema d'esame? così da esercitarsi con altri esercizi oltre a quelli di esempio sul sito..
grazie! :)


Posted by aPiso on 14-12-2011 16:50:

Originally posted by pintu
Sui computer del laboratorio per l'esame cosa viene usato? PCSpim?


Ahaha sarebbe bello eh?

Per le esercitazioni si usa MARS, che è meglio di PC Spim a mio avviso, e per l'esame di laboratorio puoi solo riempire una casella di testo su JLI, non puoi far girare il codice per vedere se funziona, deve venirti in prima botta o comunque te lo devi eseguire con carta e penna per fare un controllo...


Posted by pintu on 17-12-2011 13:10:

ah quindi praticamente consegno un file di testo e poi se la vedono loro? Sarà perchè non ho ancora studiato ma le esercitazioni che ci sono sul sito non sono x niente chiare! Anche l'esercizio che ha postato uLori..come sarebbe risolto in assembly??


Posted by pintu on 17-12-2011 13:11:

Oppure questo..qualcuno è cosi paziente da provare a risolverlo?? :)

Si realizzi un programma per il calcolo della potenza. Il programma dovra:
(1) leggere da tastiera due numeri interi a; b  0;
(2) visualizzare in output la potenza ab.
Il programma deve contenere una apposita procedura power che riceve in ingresso
due parametri (a e b) e restituisce il valore calcolato ab.
Si ricorda che devono essere rispettate le convenzioni descritte a lezione.


Posted by uLori on 17-12-2011 16:57:

Originally posted by pintu
ah quindi praticamente consegno un file di testo e poi se la vedono loro? Sarà perchè non ho ancora studiato ma le esercitazioni che ci sono sul sito non sono x niente chiare! Anche l'esercizio che ha postato uLori..come sarebbe risolto in assembly??


la risoluzione del esercizio in assembly c'è sul sito del prof..comunque ora sto iniziando a capire e fidati non è poi così difficile :)

le cose importanti sono:
-all inizio preparare lo stack pointer con il numero di spazi in base alle variabili che userai + quelle che ti servono sempre come $ra e $a0

e fai così: addi $sp, $sp, -12 (-12 lasc lo spazio per 3 dati)
sw $ra , 8($sp) salvi il registro di ritorno
sw $a0, 4($sp) salvi il dato $a0 che è il dato passato dal esercizio di solito n

-poi devi ricordati che quando fai una Jal, una chiamata ad una funzione, questa prende in ingresso sempre il dato salvato in $a0 e ti dà il risultato in uscita sempre nel registro $v0

-poi alla fine devi sempre caricare il registro di ritorno
lw $ra, 8($sp) lo carichi dalla posizione 8 xkè era li che lo avevi salvato

poi rigeneri lo stack pointer
addi $sp,$sp,12
fai un salto al registro di ritorno
JR $ra

e l'esericizio finisce :)


Posted by CowBoy on 19-12-2011 09:48:

I miei complimenti uLori... è così che si fa!

Ciao

__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..


Posted by pintu on 19-12-2011 17:22:

scusa uLori ma dato che non è richiesto il main, se per esempio devo risolvere l'esercizio dell'esponente, devo preoccuparmi di allocare lo stack con indirizzi di ritorno ecc o basta che mi limito a scrivere la procedura richiesta?? nel senso..nelle soluzioni proposte sul sito (se escludiamo il main) la soluzione richiesta all'esame dovrebbe essere questa:

power:
li $v0, 1
ciclopower:
beq $a1, $0, finepower
andi $t0, $a1, 1
beq $t0, $0, salta
mul $v0, $v0, $a0
addi $a1, $a1, -1
salta:
mul $a0, $a0, $a0
div $a1, $a1, 2
j ciclopower
finepower:
jr $ra # ritorno al chiamante

oppure no??
Dato che non devo neanche far girare il codice ma scrivere semplicemente un file di testo potrebbero anche accontentarsi :D :D


Posted by uLori on 20-12-2011 11:39:

mi sà che ci vedremo all esame di gennaio :)

comunque il main non lo dovremo scrivere però l'allocazione e la preparazione dello stack si..ma è facile e ripetitivo :D


Posted by pintu on 20-12-2011 12:57:

se riesco a prepararmi credo di si! Quando sarebbe l'appello?


Posted by uLori on 20-12-2011 14:44:

Originally posted by pintu
se riesco a prepararmi credo di si! Quando sarebbe l'appello?


la data ancora non c'è, dobbiamo iscriverci sul sifa..


Posted by gab217 on 21-12-2011 23:07:

Originally posted by uLori
la data ancora non c'è, dobbiamo iscriverci sul sifa..


Esce tutto sul sifa?


Posted by uLori on 22-12-2011 08:22:

Originally posted by gab217
Esce tutto sul sifa?


penso di si, leggendo sul sito del prof dice che serve l'iscrizione al sife per fare l'esame di laboratorio e poter verbalizzare. quindi penso prima o poi uscirà. per ora c'è solo quello di borghese..


All times are GMT. The time now is 03:03. Pages (7): « 1 [2] 3 4 5 6 » ... Last »
Show all 100 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.