PDA

View Full Version : [Informatica] Stack e protocollo chiamante/chiamato


Darker
08-09-2008, 06:22
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 :)