|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2001
Città: London (UK)
Messaggi: 1788
|
[Informatica] Stack e protocollo chiamante/chiamato
Ciao ragazzi
![]() Nonostante i libri ed i siti consultati fino ad ora non riesco a capire cosa succede allo stack quando si verifica il protocollo di chiamante/chiamato. Poiché non sono bravo a capire dalle definizioni (a quanto pare...) ho preparato un esempio: Supponiamo che una funzione "A" chiami una funzione "B" (che, dopo un certo tempo, termina la sua esecuzione e torna ad "A", fornendo il risultato dell'elaborazione). Fase 1: Sullo stack (che cresce ad indirizzi di memoria crescenti) ci sono: - Il Base Pointer (BP) della funzione "A" che punta alla base dello stack - Lo Stack Pointer (SP) della funzione "A" che punta alla prima locazione libera dello stack - Il Link Pointer (LP) che contiene l'indirizzo di ritorno (della funzione che ha invocato A, suppongo. Questo punto non chiaro). Fase 2: "A" invoca "B": Cosa passa "A" a "B"? Cosa salva "B" e come fa a tornare ad "A"? LP che sta sullo stack di "A", che roba è? In pratica, che cavolo succede allo stack? Grazie anticipatamente ![]() Ultima modifica di Darker : 08-09-2008 alle 06:24. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:21.