Procedure annidate

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.
Pasted image 20230330112002.png
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.