Logo

210316-lezione-SC - Shared screen with speaker view
Vincenzo Zappavigna
01:06
si sente
Lorenzo Pecorari
01:10
si
christian pizzuti
07:45
4(%esp)
Giuseppe Prisco
08:34
quindi se fossero stati 3 parametri avremmo dovuto scrivere subl $12 ecc?
francesco toccafondi
08:49
prof scusi non ho capito perché fa la subl
francesco toccafondi
09:16
ah ok grazie
emanuele mole
09:23
ma è sempre per multipli di 4, giusto? a causa della promozione ad int?
emanuele mole
09:34
ok grazie
antonio serra
10:11
addl
Michele Simeone
10:14
addl
Andrea Toscani
12:35
perché quando noi passiamo i parametri li passiamo in %esp e 4%esp ma quando li andiamo a prendere nella funzione li abbiamo in 4%esp e 8%esp
Andrea Toscani
15:26
sisi , grazie
jacopo tedeschi
15:41
scusi prof non mi è chiaro a cosa serve addl
jacopo tedeschi
16:14
chiaro
jacopo tedeschi
16:15
grazie
Claudio Schiavella
19:38
4
jacopo tedeschi
19:39
4
Alessia Pontiggia
19:39
4
Federico Mariani
19:40
$4
emanuele mole
20:27
8esp
emanuele mole
21:20
4(%esp)
Andrea Toscani
21:24
(%esp)
emanuele mole
21:41
ah okay
christian pizzuti
22:58
4
valerio spagnoli
23:51
Facciamo 8(%esp) perché il parametro di f si è spostato di 4 byte?
antonio serra
24:06
Prof si può mettere prima la addl e poi incl? È equivalente?
Andrea Toscani
24:15
se noi facevamo prima il movl di x in eax rispetto all allocazione dei 4byte allora eax lo avremmo spostato da 4(%esp) al posto di 8(%esp) ?
valerio spagnoli
24:18
Okay grazie
ricci alessandro
25:06
se non compenso con la addl cosa succede?
ricci alessandro
25:33
grazie
jacopo tedeschi
26:02
quindi è come se facesse la ret della funzione g?
Andrea Toscani
26:06
grazie mille
jacopo tedeschi
26:51
grazie
Luigi Vagnozzi
29:12
prof scusi potrebbe farmi rivedere l'esempio al volo perfavore?
Luigi Vagnozzi
29:30
perfetto
Luigi Vagnozzi
29:35
grazie mille
Flavio Picchiotti
33:46
non si potrebbe fare con int c=h() ?
Flavio Picchiotti
34:09
okay grazie
Flavio Picchiotti
36:30
perché "probabilmente"?
antonio sabatini
38:53
ma il risultato di una call finisce direttamente in eax?
Camil Demetrescu
44:57
La lezione riprende alle 15:57
flavia ricci
49:04
scusi prof potrebbe mostrare un attimo il disegno della catena di chiamate?
flavia ricci
49:35
grazie
emanuele mole
55:19
prof non ho capito perché 2 esempi fa abbiamo messo eax in (%esp) e non in 4(%esp). Anche perché abbiamo preso il parametro passato alla funzione con 8(%esp), quindi non mi è chiaro
emanuele mole
58:36
in 4(%esp) ci sarebbe il ritorno di f?
emanuele mole
58:56
ah okay, ora ho capito
emanuele mole
59:03
grazie
christian pizzuti
01:06:37
popl
Alessia Pontiggia
01:06:38
pop
jacopo tedeschi
01:10:30
cosa succede se non faccio la popl?
jacopo tedeschi
01:11:26
grazie
riccardo vacca
01:11:56
perché una soluzione è preferibile rispetto all'altra?
riccardo vacca
01:12:49
grazie
Giuseppe Prisco
01:18:50
al posto di di avremmo potuto usare ecx?
Giuseppe Prisco
01:20:17
ah si vero, grazie
Lorenzo Pecorari
01:22:02
8
christian pizzuti
01:22:03
8?
Flavio Picchiotti
01:23:43
se no che succede?
jacopo tedeschi
01:23:56
sottraendo solo 4 byte, non mi rimane un registro sotto esp?
jacopo tedeschi
01:24:57
non ho capito perché sottraiamo solo 4 byte anziché 8
Flavio Picchiotti
01:25:18
se non faccio la pop in ordine opposto che succede?
jacopo tedeschi
01:25:46
se sottraggo solo 4 byte, esp punta ad ebx e non a edi
jacopo tedeschi
01:28:32
grazie
Andrea Toscani
01:29:34
8
emanuele napoli
01:29:35
8
Michele Simeone
01:29:44
12
emanuele mole
01:29:55
12?
Giuseppe Prisco
01:32:02
se passassimo ad h un parametro diverso, dovremmo scrivere subl $8? Cioè noi facciamo la subl di $4 per ogni parametro diverso che appare nel programma, anche se non sono passati alla stessa funzione?
riccardo vacca
01:39:18
v[b]?
Claudio Schiavella
01:39:54
4
Andrea Toscani
01:39:56
4
Andrea Toscani
01:42:56
si
christian pizzuti
01:43:01
emanuele mole
01:43:13
si
emanuele mole
01:47:12
potrebbe mettere la funzione equivalente?
emanuele mole
01:47:33
grazie
emanuele mole
01:56:17
si
Oleksandr Soludchyk
02:05:10
4
Oleksandr Soludchyk
02:06:32
28
Alessia Pontiggia
02:08:03
jae
emanuele mole
02:08:04
ae
emanuele mole
02:08:47
4
Pasquale Mocerino
02:08:47
4
Andrea Toscani
02:08:48
4
Oleksandr Soludchyk
02:08:49
4
Giuseppe Prisco
02:08:49
4
Giuseppe Prisco
02:11:50
quindi abbiamo la garanzia che ecx non venga modificato perché prima abbiamo fatto la subl e poi la movl sulla stack?
Oleksandr Soludchyk
02:14:55
in questo caso non ti interessa che venga modificata ecx, la usi solamente come variabile d'appoggio per l'elemento dell'array da passare nella funzione
emanuele mole
02:16:14
quando mi si blocca così, mi basta cliccare con il tasto destro e riprendo il controllo. il motivo di tutto ciò non saprei.
flavia ricci
02:30:31
8
Giuseppe Prisco
02:32:02
20
Alessia Pontiggia
02:32:03
20
christian pizzuti
02:32:57
24
Lorenzo Pecorari
02:32:58
24
emanuele mole
02:34:51
se facessi decl %ebx prima?
Federico Mariani
02:35:32
dove "-4" sarebbe la "scala", quindi se ci fosse stato un array con scala 2 dovevamo fare -2 giusto?
Federico Mariani
02:36:39
chiaro grazie
Oleksandr Soludchyk
02:37:04
(%esp)
Oleksandr Soludchyk
02:37:19
4(%esp)
Oleksandr Soludchyk
02:38:19
je
Giuseppe Prisco
02:39:59
va messo il ; dopo L3?
Alessia Pontiggia
02:40:44
credo in C si debba mettere
emanuele mole
02:44:10
-4(reg, reg1, 4) sarebbe equivalente a usare decl e poi incl di reg1 o cambia qualcosa in quanto a ottimizzazione/prestazioni tra i due modi?
Andrea Toscani
02:44:55
ma se questa funzione la avessimo scritta come *(x),*(y) = *(y),*(x) la avremmo dovuto tradurre comunque con un variabili ausiliarie ?
jacopo tedeschi
02:48:47
prof scusi la domanda, qual'è l'istruzione assembly per fare le stampe sul terminale nel caso dovessi fare un debug del codice?
emanuele mole
02:49:00
okay grazie
jacopo tedeschi
02:49:48
va bene grazie
Andrea Toscani
02:50:06
okay grazie mille
Andrea Toscani
02:50:09
buona serata
emanuele mole
02:50:43
arrivederci
christian pizzuti
02:50:54
Arrivederci
Camil Demetrescu
02:50:57
arrivederci