Abbiamo detto che il valore di ritorno di una procedura è scritto nel registro x1
. Poniamo il caso in cui vi siano più chiamate fra procedure: del tipo che il main di una programma, chiami la procedura A, che a sua volta chiami la procedura B, che a sua volta chiami, l'ultima, procedura C. In questo caso tutte le procedure ritornano qualcosa, quindi il valore di x1
viene sovrascritto di volta in volta.
NOTA: una procedura che non chiama nessun'altra procedura è detta procedura foglia.
Problema
Il valore di x1
viene sovrascritto.
Soluzione
La procedura chiamata deve salvare in memoria il valore di x1
prima di chiamare la procedura successiva.