- Generalmente i parametri vengono passati nello stack, insieme con l'indirizzo di
ritorno della funzione
- Il programma chiamante pone sullo stack i parametri (se per valore) o i loro indirizzi (se
per riferimento), quindi esegue l'istruzione di "call" alla funzione
- In alcuni casi nello stack viene anche posta una "variabile" per il valore di
ritorno, prima dei parametri
- La funzione, crea le sue variabili locali (automatiche) allocando spazio nello stack.
- L'area contenente i parametri, il valore di ritorno, il punto della funzione chiamante cui ritornare e le
variabili locali prende il nome diframe
- La funzione accede ai parametri tramite un puntatore al frame ed eventualmente pone il valore
di ritorno nella variabile approntata allo scopo.
- Al termine la funzione elimina le sue variabili dallo stack
- A seconda del linguaggio la funzione oppure il programma chiamante eliminano i parametri dallo stack
- A volte, per ottenere una maggiore efficenza, i parametri vengono posti nei registri
della CPU, al posto che nello stack
- Se il linguaggio non prevede una variabile nel frame per il valore di ritorno, esso viene
lasciato nei registri della CPU
|