ISA et assembleur

Après l'exécution du code RISC-V ci-dessus, quelle est la valeur du registre a2 ?

addi a0, zero, 5
addi a1, a0, 3
add  a2, a0, a1
  1. A8
  2. B13
  3. C15
Afficher la réponse et l'explication

Réponse : B. 13

La 1re ligne ajoute 5 à zero (toujours 0), d'où a0 = 5 ; la 2e ajoute 3 à a0, d'où a1 = 8 ; la 3e additionne a0 et a1, d'où a2 = 5 + 8 = 13. Les instructions arithmétiques RISC-V s'écrivent dans l'ordre « instruction destination, source1, source2 (ou immédiat) », le premier registre étant celui qui reçoit le résultat. zero est l'alias de x0, souvent utilisé pour construire des constantes.

S'entraîner sur ce thème Retour au thème

Autres questions sur ISA et assembleur

  1. Quel est le fonctionnement correct de l'instruction RISC-V « lw t0, 8(sp) » ?
  2. Dans l'instruction de branchement conditionnel RISC-V « beq a0, a1, label », comment l'adresse de la cible label est-elle représentée ?
  3. Quel est l'avantage d'utiliser l'adressage relatif au PC pour les branchements et sauts ?
  4. Quelle affirmation concernant la longueur des instructions de base RISC-V et des instructions x86 est correcte ?
  5. Quel est l'avantage le plus pertinent d'une longueur d'instruction fixe ?