- marcomo
- Ingegneria Informatica - Triennale
- Martedì, 15 Maggio 2007
- Subscribe via email
Comment
There are no comments made yet.
Accepted Answer
Pending Moderation
A parere mio ottimo professore, l'ho seguito l'hanno scorso ed è veramente bravo
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 1
Se è d'Amico, lo consiglio vivamente :lol:
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 2
Accepted Answer
Pending Moderation
Speriamo bene.
PS PER TUTTI Le slides NON sono quelle dell'anno scorso! Le upperà a breve sul sito....
V.
PS PER TUTTI Le slides NON sono quelle dell'anno scorso! Le upperà a breve sul sito....
V.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 3
Accepted Answer
Pending Moderation
Mi puoi dare il sito??
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 4
Accepted Answer
Pending Moderation
Non si sa ancora, non sa se farne uno nuovo o aggiornare quello dell'anno scorso, come dice qualcosa lo posto.
V.
V.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 5
Accepted Answer
Pending Moderation
Ti ringrazio
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 6
Accepted Answer
Pending Moderation
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 7
Accepted Answer
Pending Moderation
Speriamo bene.
PS PER TUTTI Le slides NON sono quelle dell'anno scorso! Le upperà a breve sul sito....
V.
ok, ha aggiornato il sito dell'anno scorso ma non ancora con le nuove slides :wink:
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 8
Speriamo bene.
PS PER TUTTI Le slides NON sono quelle dell'anno scorso! Le upperà a breve sul sito....
V.
ok, ha aggiornato il sito dell'anno scorso ma non ancora con le nuove slides :wink:
Dove lo troviamo, puoi darci indirizzo?
Io ho scaricato le slide dal sito di Lo Presti:
http://www.ce.uniroma2.it/~lopresti/Did ... _frame.htm
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 9
Accepted Answer
Pending Moderation
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 10
http://www.uniroma2.it/didattica/ACbis/
marco ma queste sono quelle vecchie....sono dell'anno scorso....le deve mettere ancora il prof sul sito.....
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 11
Accepted Answer
Pending Moderation
http://www.uniroma2.it/didattica/ACbis/
marco ma queste sono quelle vecchie....sono dell'anno scorso....le deve mettere ancora il prof sul sito.....
Si queste sono ancora quelle vecchie, il professore le dovrebbe aggiornare a breve.
Cmq il sito resta sempre questo.
Per il momento cmq vanno bene anche le dispense di Lo Presti.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 12
http://www.uniroma2.it/didattica/ACbis/
marco ma queste sono quelle vecchie....sono dell'anno scorso....le deve mettere ancora il prof sul sito.....
Si queste sono ancora quelle vecchie, il professore le dovrebbe aggiornare a breve.
Cmq il sito resta sempre questo.
Per il momento cmq vanno bene anche le dispense di Lo Presti.
si vanno bene anche queste,anche perchè sono le stesse. Quest'anno useranno le stesse slide....
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 13
Accepted Answer
Pending Moderation
Ragazzi fin dove è arrivato oggi D'Amico? vi ringrazio
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 14
Accepted Answer
Pending Moderation
oggi ha fatto l'assemblatore, il linkere, il loader, rilocazione delle istruzioni. e poi ci ha dato i seguenti esercizi
[code type="markup"]
es1:
scrivere la procedura ricorsiva "ricors" che calcola il numero n a partire dai primi n numeri primi nel seguente modo:
ricors(n)=n*(n-1)*ricors(n-1)+(n+3);
ricors(1)=1;
ricors(2)=2*1*ricors(1)+(2+3);
ricors(3)=3*2*ricors(2)+(3+3);
-----------------------
es2:
fare la somma di tutti gli elementi di una matrice 5x10
-----------------------
es3:
scrivere una funzione ricorsiva che dato in ingresso un intero non negativo n e un array a di interi non negativi calcoli la funzione f(n,a) così definita:
la funzione deve essere realizzata tramite un'opportuna procedura (vedi sotto).
n (intero), m (dimensione array), a (array) sono passati come parametri in ingresso $a0, $a1, $a0. il risultato viene restituito in $v0. commentare in modo opportuno il codice ed indicare quale istruzioni devono essere evidentemente rilocate dal linker.
int procedura(int n, int *a, int m)
{
if(n==0) return 0;
else
{
if(is_in(n,a,m)) return 2*procedura(n-1,a,m)+1;
else return procedura(n-1,a,m)+2
}
}
int is_in(int x, int *b, int m)
{
int j=0;
while(j<n)
{
if(x==b[j]) return 1;
j++;
}
return 0;
}
-----------------------
[/code]
[code type="markup"]
es1:
scrivere la procedura ricorsiva "ricors" che calcola il numero n a partire dai primi n numeri primi nel seguente modo:
ricors(n)=n*(n-1)*ricors(n-1)+(n+3);
ricors(1)=1;
ricors(2)=2*1*ricors(1)+(2+3);
ricors(3)=3*2*ricors(2)+(3+3);
-----------------------
es2:
fare la somma di tutti gli elementi di una matrice 5x10
-----------------------
es3:
scrivere una funzione ricorsiva che dato in ingresso un intero non negativo n e un array a di interi non negativi calcoli la funzione f(n,a) così definita:
la funzione deve essere realizzata tramite un'opportuna procedura (vedi sotto).
n (intero), m (dimensione array), a (array) sono passati come parametri in ingresso $a0, $a1, $a0. il risultato viene restituito in $v0. commentare in modo opportuno il codice ed indicare quale istruzioni devono essere evidentemente rilocate dal linker.
int procedura(int n, int *a, int m)
{
if(n==0) return 0;
else
{
if(is_in(n,a,m)) return 2*procedura(n-1,a,m)+1;
else return procedura(n-1,a,m)+2
}
}
int is_in(int x, int *b, int m)
{
int j=0;
while(j<n)
{
if(x==b[j]) return 1;
j++;
}
return 0;
}
-----------------------
[/code]
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 15
Accepted Answer
Pending Moderation
ho fatto 2 dei 3 esercizi svolti
es1: http://lotti.palib.info/asm/es1.asm
es2: http://lotti.palib.info/asm/es2.asm
es1: http://lotti.palib.info/asm/es1.asm
es2: http://lotti.palib.info/asm/es2.asm
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 16
Accepted Answer
Pending Moderation
Anche io ho fatti quei due, ma in maniera leggermente diversa: anzitutto non uso le syscall, ancora devo farle XD, in secondo luogo nel secondo ho una matrice 2x10 (non mi andava di scrivere tutti i numeri) che io, a differenza di te, considero in un unico array: praticamente anzichè fare 5 array da 10 ne faccio 1 da 100 poichè sapendo in anticipo la dimensione delle righe posso immediatamente andare a quella dopo.
Li posto di seguito:
[code type="markup"]
.globl main
main:
addi $a0, $zero, 4 # $ao = 3, valore da passare alla funzione risors
jal ricors # Jump & link to ricors
j exit
ricors:
addi $sp, $sp, -8
sw $a0, 0($sp)
sw $ra, 4($sp)
bne $a0, 1, L1ricors # if($ao!=1) goto to L1ricors
addi $v0, $zero, 1
lw $ra, 4($sp)
addi $sp, $sp, 8
jr $ra
L1ricors:
addi $a0, $a0, -1 # n=n-1
jal ricors
lw $t0, 0($sp)
add $t1, $t0, -1
mul $t1, $t0, $t1
mul $t1, $t1, $v0
add $t1, $t1, $t0
addi $t1, $t1, 3
add $v0, $t1, $zero
lw $ra, 4($sp)
addi $sp, $sp, 8
jr $ra
exit:
[/code]
Somma elementi:
[code type="markup"]
.globl main
main:
la $a0, matrice # Salvo l'indirizzo della matrice
add $s0, $zero, $zero # contatore
jal somma # Chiamo la funzione somma
j exit # exit
somma:
addi $sp, $sp, -8 # Alloco stack
sw $ra, 0($sp) # Salvo ra
lw $t0, 0($a0) # Salvo il valore della cella
sw $t0, 4($sp) # Salvo elemento i array nello stack
lw $t1, x # Carico il valore di X
bne $t0, $t1, L1somma # Controllo a che cella sono arrivato
add $v0, $v0, $t0 # Aggiungo a $v0 il valore della cella
lw $ra, 0($sp) # Carico $ra
addi $sp, $sp, 8 # Dealloco lo stack
jr $ra # Torno alla chiamante
L1somma:
addi $a0, $a0, 4 # Aumento l'offset di $a0
addi $s0, $s0, 1 # Aggiorno il contatore
jal somma # Chiamo somma
lw $t0, 4($sp) # Carico in $t0 il valore salvato dell'array
add $v0, $v0, $t0 # Aggiorno la somma
lw $ra, 0($sp) # Carico $ra
addi $sp, $sp, 8 # Dealloco
jr $ra # Torno alla chiamante
exit:
[/code]
l'etichetta "exit" e "j exit" li uso semplicemente per indicare che sto uscendo, imparata la syscall userò quella :wink:
Lotti, visto che sei un mostro con l'assembler, che dici può andare?
Li posto di seguito:
[code type="markup"]
.globl main
main:
addi $a0, $zero, 4 # $ao = 3, valore da passare alla funzione risors
jal ricors # Jump & link to ricors
j exit
ricors:
addi $sp, $sp, -8
sw $a0, 0($sp)
sw $ra, 4($sp)
bne $a0, 1, L1ricors # if($ao!=1) goto to L1ricors
addi $v0, $zero, 1
lw $ra, 4($sp)
addi $sp, $sp, 8
jr $ra
L1ricors:
addi $a0, $a0, -1 # n=n-1
jal ricors
lw $t0, 0($sp)
add $t1, $t0, -1
mul $t1, $t0, $t1
mul $t1, $t1, $v0
add $t1, $t1, $t0
addi $t1, $t1, 3
add $v0, $t1, $zero
lw $ra, 4($sp)
addi $sp, $sp, 8
jr $ra
exit:
[/code]
Somma elementi:
[code type="markup"]
.globl main
main:
la $a0, matrice # Salvo l'indirizzo della matrice
add $s0, $zero, $zero # contatore
jal somma # Chiamo la funzione somma
j exit # exit
somma:
addi $sp, $sp, -8 # Alloco stack
sw $ra, 0($sp) # Salvo ra
lw $t0, 0($a0) # Salvo il valore della cella
sw $t0, 4($sp) # Salvo elemento i array nello stack
lw $t1, x # Carico il valore di X
bne $t0, $t1, L1somma # Controllo a che cella sono arrivato
add $v0, $v0, $t0 # Aggiungo a $v0 il valore della cella
lw $ra, 0($sp) # Carico $ra
addi $sp, $sp, 8 # Dealloco lo stack
jr $ra # Torno alla chiamante
L1somma:
addi $a0, $a0, 4 # Aumento l'offset di $a0
addi $s0, $s0, 1 # Aggiorno il contatore
jal somma # Chiamo somma
lw $t0, 4($sp) # Carico in $t0 il valore salvato dell'array
add $v0, $v0, $t0 # Aggiorno la somma
lw $ra, 0($sp) # Carico $ra
addi $sp, $sp, 8 # Dealloco
jr $ra # Torno alla chiamante
exit:
[/code]
l'etichetta "exit" e "j exit" li uso semplicemente per indicare che sto uscendo, imparata la syscall userò quella :wink:
Lotti, visto che sei un mostro con l'assembler, che dici può andare?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 17
Accepted Answer
Pending Moderation
[code type="markup"]
.data
matrice: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 # matrice
x: .word 20 # totale elementi matrice
[/code]
avevo dimenticato questo pezzo nell'esercizio della matrice
.data
matrice: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 # matrice
x: .word 20 # totale elementi matrice
[/code]
avevo dimenticato questo pezzo nell'esercizio della matrice
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 18
Accepted Answer
Pending Moderation
mostro non direi.. in 2 giorni ho passato 5 ore sul fibonacci ricorsivo e ancora non l'ho risolto.
se il programma ti funziona e hai fatto esattamente quello che fa il codice c++, allora sei apposto. io mi sono reso conto che tutti i fibonacci fatti prima di ora, non erano mai puramente ricorsivi.
per puramente ricorsivo intendo che la funzione si serve solo degli effettivi parametri in input e in output, senza sfruttare altre cose anche se semplificano il lavoro.
se il programma ti funziona e hai fatto esattamente quello che fa il codice c++, allora sei apposto. io mi sono reso conto che tutti i fibonacci fatti prima di ora, non erano mai puramente ricorsivi.
per puramente ricorsivo intendo che la funzione si serve solo degli effettivi parametri in input e in output, senza sfruttare altre cose anche se semplificano il lavoro.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 19
Accepted Answer
Pending Moderation
ecco quello è un problema: il codice c++ non riesco mai a copiarlo tale e quale, soprattutto l'esercizio 3 fatto dal prof.
Il brutto è che se uso le system call per stampare qualcosa non sapendole usare impiego più che guardando tutto il codice :lol:
Mi sa che mi tocca chiedere aiuto a qualche santo, 120 righe di codice in assembler sono difficili da analizzare
Il brutto è che se uso le system call per stampare qualcosa non sapendole usare impiego più che guardando tutto il codice :lol:
Mi sa che mi tocca chiedere aiuto a qualche santo, 120 righe di codice in assembler sono difficili da analizzare
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 20
There are no replies made for this post yet.
Be one of the first to reply to this post!
Be one of the first to reply to this post!
Please login to post a reply
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here. Register Here »