Conventions d'appel de procédure

Pour pouvoir correctement gérer la pile, le mécanisme de fenêtre de registres, et les éventuels besoins du système en place pour pouvoir sauvegarder les registres lors des débordements de fenêtre et les commutations entre processus, un minimum de règles sont à respecter lors de l'exécution de sous-routines:

(Je donne ces recommandations pour le début de la documentation sur Sparc; dans les sections suivantes (type bidouillage avancé et autres optimisation pour les démos, je m'autoriserai quelques entorses...))

Au niveau de l'utilisation des registres, quelques rappels:

Interfaçage avec le C

La convention du C est de remplir tous les registres %o0-%o5 lors d'un appel de procédure dans l'ordre d'écriture des paramètres:
l'appel de foo(toto1,toto2) avec totox des variables int se fera en mettant toto1 dans %o0 et toto2 dans %o1.
Les paramètres supplémentaires qui ne tiennent plus dans les registres sont placés sur la pile, avec la particularité que le premier qui déborde peut avoir un morceau dans %o5, et le reste sur la pile (utilisation maximale des registres).