ISA et assembleur
Dans la convention d'appel RISC-V, que signifie le fait que s0 à s11 soient des registres « sauvegardés par l'appelé » (callee-saved) ?
- ASi la fonction appelée les utilise, elle doit sauvegarder leur valeur d'origine et la restaurer avant de revenir
- BLa fonction appelante doit toutes les mettre à 0 avant l'appel
- CCe sont des registres réservés à l'OS, inutilisables par les programmes utilisateur
Afficher la réponse et l'explication
Réponse : A. Si la fonction appelée les utilise, elle doit sauvegarder leur valeur d'origine et la restaurer avant de revenir
Les registres sauvegardés par l'appelé ont la garantie de conserver leur valeur à travers un appel de fonction. Si la fonction appelée veut utiliser s0 notamment, elle le sauvegarde d'abord sur la pile et le restaure avant de revenir. L'appelant peut placer dans les registres s les valeurs qu'il veut conserver après l'appel, sans avoir à les sauvegarder lui-même. Les variables de boucle y sont souvent placées.