- Valerio Battaglia
-
- Ingegneria Informatica - Triennale
- Mercoledì, 09 Maggio 2007
- Subscribe via email
Comment
There are no comments made yet.
Accepted Answer
Pending Moderation
prof non è che domani facciamo una lezioncina su come installare e compilare col mips?
così uno gli esercizi che fa li verifica
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 41
vediamo SPIM martedi', seconda parte della lezione
prof non è che domani facciamo una lezioncina su come installare e compilare col mips? così uno gli esercizi che fa li verifica
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 42
Accepted Answer
Pending Moderation
lopresti\n
si puo' fare in entrambi i modi. il primo metodo corrisponde a lavorare con gli indici, mentre il secondo corrisponde a lavorare con i puntatori. vedremo che il secondo è migliore (in termini di efficienza con degli esempi a lezione (cosa vera anche in C).
in generale mi interessa che il codice realizzi la stessa funzione. io parto dal codice C perché immagino che per molti di voi sia più semplice. sicuramente non è necessario ne il metodo migliore.
Grazie!!!
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 43
Accepted Answer
Pending Moderation
si puo' fare in entrambi i modi. il primo metodo corrisponde a lavorare con gli indici, mentre il secondo corrisponde a lavorare con i puntatori. vedremo che il secondo è migliore (in termini di efficienza con degli esempi a lezione (cosa vera anche in C).
in generale mi interessa che il codice realizzi la stessa funzione. io parto dal codice C perché immagino che per molti di voi sia più semplice. sicuramente non è necessario ne il metodo migliore.
Grazie!!
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 44
Accepted Answer
Pending Moderation
ragazzi dato ke non posso venire neppure domani, oggi a che punto siete arrivati con la slide su Set delle Istruzioni? GRAZIE
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 45
ragazzi dato ke non posso venire neppure domani, oggi a che punto siete arrivati con la slide su Set delle Istruzioni? GRAZIE
praticamente finite, mancavano giusto 3 o 4 slide..
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 46
Accepted Answer
Pending Moderation
[OT]
Se non sono troppo invadente vorrei chiarire una volta per tutte con il Prof Lo Presti e con chi più di me conosce questo argomento la gestione dello stack relativa all'assegno di POO
Il prog di POO ci ha chiesto di creare un programmino che simuli lo scambio di parametri e la gestione del controllo del flusso del programma tra un oggetto e un suo metodo invocato.
Ora quello che vorrei sapere io è questo:
in java creo un oggetto e chiamo un metodo su questo oggetto
Oggetto A= new Oggetto();
A.Somma(int 1, int 2, int3);
Ora lo stack si riempe in questo modo??
Posizione 3---> int 3
Posizione 2---> int 2
Posizione 1---> int 1
Posizione 0---> indirizzo di A (una sorta di return address??)
Se questo fosse giusto il metodo legge lo stack in questo modo??
Legge posizione 3,4,1 facendo il pop()
Legge posizione 0, fa il pop e ritorna il controllo all'oggetto chiamante?
Ora quello che proprio non so è dove mette nello stack il risultato della somma di 1+2+3...
Ringrazio tutti anticipatamente per qualsiasi chiarificazione
Se non sono troppo invadente vorrei chiarire una volta per tutte con il Prof Lo Presti e con chi più di me conosce questo argomento la gestione dello stack relativa all'assegno di POO
Il prog di POO ci ha chiesto di creare un programmino che simuli lo scambio di parametri e la gestione del controllo del flusso del programma tra un oggetto e un suo metodo invocato.
Ora quello che vorrei sapere io è questo:
in java creo un oggetto e chiamo un metodo su questo oggetto
Oggetto A= new Oggetto();
A.Somma(int 1, int 2, int3);
Ora lo stack si riempe in questo modo??
Posizione 3---> int 3
Posizione 2---> int 2
Posizione 1---> int 1
Posizione 0---> indirizzo di A (una sorta di return address??)
Se questo fosse giusto il metodo legge lo stack in questo modo??
Legge posizione 3,4,1 facendo il pop()
Legge posizione 0, fa il pop e ritorna il controllo all'oggetto chiamante?
Ora quello che proprio non so è dove mette nello stack il risultato della somma di 1+2+3...
Ringrazio tutti anticipatamente per qualsiasi chiarificazione
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 47
ragazzi ho provato a far girare il primo esercizio datoci dal prof che ha risolto in aula lunedì, ma spim mi dà un'eccezione nella stringa in grassetto:
.text
.globl main
main: addi $s0, $zero, 0
addi $s1, $zero, 0
addi $s5, $zero, 100
For_start: slt $t0, $s1, $s5
beq $t0, $zero, Exit
sll $t1, $s1, 2
add $t1, $t1, $s3
lw $t2, 0($t1)
add $s0, $s0, $t2
addi $s1, $s1, 2
j For_start
Exit: jr $ra
.text
.globl main
main: addi $s0, $zero, 0
addi $s1, $zero, 0
addi $s5, $zero, 100
For_start: slt $t0, $s1, $s5
beq $t0, $zero, Exit
sll $t1, $s1, 2
add $t1, $t1, $s3
lw $t2, 0($t1)
add $s0, $s0, $t2
addi $s1, $s1, 2
j For_start
Exit: jr $ra
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 48
Accepted Answer
Pending Moderation
ragazzi ho provato a far girare il primo esercizio datoci dal prof che ha risolto in aula lunedì, ma spim mi dà un'eccezione nella stringa in grassetto:
.text
.globl main
main: addi $s0, $zero, 0
addi $s1, $zero, 0
addi $s5, $zero, 100
For_start: slt $t0, $s1, $s5
beq $t0, $zero, Exit
sll $t1, $s1, 2
add $t1, $t1, $s3
lw $t2, 0($t1)
add $s0, $s0, $t2
addi $s1, $s1, 2
j For_start
Exit: jr $ra
in $s3 che cosa dovrebbe esserci?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 49
$s3 non e' inizializzato in modo oppotuno (anzi e' proprio =0). di conseguenza il lw in questione prova a leggere da una locazione di memoria riservata al sistema operativo, cosa che causa l' eccezione.
bisognerebbe avere un
la $s3, array
.data
array: .word ....
per avere $s3 che riferisce ad un array nel segmento dati.
ragazzi ho provato a far girare il primo esercizio datoci dal prof che ha risolto in aula lunedì, ma spim mi dà un'eccezione nella stringa in grassetto:
.text
.globl main
main: addi $s0, $zero, 0
addi $s1, $zero, 0
addi $s5, $zero, 100
For_start: slt $t0, $s1, $s5
beq $t0, $zero, Exit
sll $t1, $s1, 2
add $t1, $t1, $s3
lw $t2, 0($t1)
add $s0, $s0, $t2
addi $s1, $s1, 2
j For_start
Exit: jr $ra
bisognerebbe avere un
la $s3, array
.data
array: .word ....
per avere $s3 che riferisce ad un array nel segmento dati.
ragazzi ho provato a far girare il primo esercizio datoci dal prof che ha risolto in aula lunedì, ma spim mi dà un'eccezione nella stringa in grassetto:
.text
.globl main
main: addi $s0, $zero, 0
addi $s1, $zero, 0
addi $s5, $zero, 100
For_start: slt $t0, $s1, $s5
beq $t0, $zero, Exit
sll $t1, $s1, 2
add $t1, $t1, $s3
lw $t2, 0($t1)
add $s0, $s0, $t2
addi $s1, $s1, 2
j For_start
Exit: jr $ra
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 50
professore, è possibile avere il codice del calcolo del fattoriale completo di main che è stato fatto vedere alla fine in classe? la ringrazio.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 51
Scusate l'ignoranza...
vorrei sapere come posso fare ad inizializzare i singoli elementi di un array, ossia ad esempio (vi scrivo l'equivalente in C):
A[0] = 5;
A[1] = 12;
...
A[n] = 2;
E' possibile fare una cosa del tipo:
addi $s5,$zero,5 # $s5 = 5
sw $s5,0($t2) # A[0] <- $t2
# faccio lo store con offset 0 di $s5
Oppure esiste qualche altro modo migliore?
vorrei sapere come posso fare ad inizializzare i singoli elementi di un array, ossia ad esempio (vi scrivo l'equivalente in C):
A[0] = 5;
A[1] = 12;
...
A[n] = 2;
E' possibile fare una cosa del tipo:
addi $s5,$zero,5 # $s5 = 5
sw $s5,0($t2) # A[0] <- $t2
# faccio lo store con offset 0 di $s5
Oppure esiste qualche altro modo migliore?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 52
Accepted Answer
Pending Moderation
= 5;
A[1] = 12;
...
A[n] = 2;
E' possibile fare una cosa del tipo:
addi $s5,$zero,5 # $s5 = 5
sw $s5,0($t2) # A[0] <- $t2
# faccio lo store con offset 0 di $s5
Oppure esiste qualche altro modo migliore?
.data
array: .word 0, 11, 14, 3
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 53
Accepted Answer
Pending Moderation
ma come si fa ad allocare una variabile byte in data?
[code type="markup"]
.data
x: .byte 1
[/code]
mi da sempre errore quando apro il file :\
[code type="markup"]
.data
x: .byte 1
[/code]
mi da sempre errore quando apro il file :\
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 54
Accepted Answer
Pending Moderation
problema del byte risolto
non vorrei sembrare presuntuoso tantomeno gradasso però vorrei proporvi un esercizio "mirato" all'esonero, della serie --> ecco il codice C, tira fuori il codice Assembly!
il programma è abbastanza simpatico ed è un buon esercizio. io ci ho messo circa 2 ore (è dura riprendere in mano l'assembly dopo anni che non lo usi :P ).
ecco il link! http://lotti.palib.info/triangle.zip
nel file c'è il testo dell'esercizio, il codice in C e il codice in assembly.
non vorrei sembrare presuntuoso tantomeno gradasso però vorrei proporvi un esercizio "mirato" all'esonero, della serie --> ecco il codice C, tira fuori il codice Assembly!
il programma è abbastanza simpatico ed è un buon esercizio. io ci ho messo circa 2 ore (è dura riprendere in mano l'assembly dopo anni che non lo usi :P ).
ecco il link! http://lotti.palib.info/triangle.zip
nel file c'è il testo dell'esercizio, il codice in C e il codice in assembly.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 55
professore riguardo le dispense sulle procedure aggiornate al 30/5, cosa è stato corretto rispetto a quelle precedenti?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 56
qualcuno mi può spiegare per piacere a cosa equivale questa istruzione dell'esempio delle slide?
x: .word 5
cioè,l'etichetta x, cosa ha con quella direttiva??
x: .word 5
cioè,l'etichetta x, cosa ha con quella direttiva??
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 57
Da quello che ho capito io mette il valore 5 nella prima word di memoria,e se è così...perchè fa questa cosa in spim???
lui $1, 4097 [x] ; 7: lw $t1, x # legge x in $t1
lw $9, 0($1) [x]
lo fa anche per Y e Z...
lui $1, 4097 [x] ; 7: lw $t1, x # legge x in $t1
lw $9, 0($1) [x]
lo fa anche per Y e Z...
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 58
Accepted Answer
Pending Moderation
Scusate la domanda banale, ma dopo parecchi tentativi non riesco a far partire i programmi. Ho provato a far partre il primo esempio del professore, la semplice somma di due numeri. Una volta richiamato in Spim provo a farlo partire con GO, imposto il valore iniziale a 0x00400000 e la riga iniziale la pongo a 1.
Morale: errore, praticamente ogni volta che esegue un programma trova un errore alla riga successiva: se il mio programma arriva fino all'indirizzo 0x00400004, mi trova errore alla riga 0x00400008, che non esiste nel mio programma.
Sapete come ovviare? Grazie e scusate la banalità, ma dopo il primo avvio credo andrà meglio :wink:
Morale: errore, praticamente ogni volta che esegue un programma trova un errore alla riga successiva: se il mio programma arriva fino all'indirizzo 0x00400004, mi trova errore alla riga 0x00400008, che non esiste nel mio programma.
Sapete come ovviare? Grazie e scusate la banalità, ma dopo il primo avvio credo andrà meglio :wink:
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 59
Accepted Answer
Pending Moderation
tutto risolto grazie, lavorava correttamente e non me ne ero accorto
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 60
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 »