Qu'est-ce que Registre sauvegardé par l'appelé (callee-saved) ?

Registre dont la valeur est garantie conservée à travers un appel de fonction. Si la fonction appelée l'utilise, elle le sauvegarde et le restaure avant de retourner. En RISC-V, ce sont s0 à s11.

Nom japonais: 呼び出し先保存レジスタ

« Registre sauvegardé par l'appelé (callee-saved) » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont ISA et assembleur.

Domaine: ISA et assembleur

S'entraîner : questions sur Registre sauvegardé par l'appelé (callee-saved)

Dans la convention d'appel RISC-V, que signifie le fait que s0 à s11 soient des registres « sauvegardés par l'appelé » (callee-saved) ?

  1. ASi la fonction appelée les utilise, elle doit sauvegarder leur valeur d'origine et la restaurer avant de revenir
  2. BLa fonction appelante doit toutes les mettre à 0 avant l'appel
  3. 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.

Questions mentionnant « Registre sauvegardé par l'appelé (callee-saved) » (1)

  1. Dans la convention d'appel RISC-V, que signifie le fait que s0 à s11 soient des registres « sauvegardés par l'appelé » (callee-saved) ?

Termes associés

Convention d'appel ABI (interface binaire d'application) Adressage relatif au PC Adresse de retour Architecture load-store Assembleur Cadre de pile (stack frame) Codes de condition Créneau de délai de branchement (delay slot) Extension de signe

Retour au glossaire