ISA et assembleur

Quels sont les registres entiers à usage général de RV32I (jeu d'instructions entières de base 32 bits) de RISC-V ?

  1. A32 registres de 32 bits (x0 à x31)
  2. B8 registres de 32 bits (x0 à x7)
  3. C64 registres de 64 bits (x0 à x63)
Afficher la réponse et l'explication

Réponse : A. 32 registres de 32 bits (x0 à x31)

RV32I dispose de 32 registres entiers, x0 à x31, d'une largeur de 32 bits (dans la version 64 bits RV64I, la largeur passe à 64 bits, avec toujours 32 registres). Le champ désignant un registre dans une instruction fait 5 bits, ce qui permet de représenter 2 puissance 5 = 32 registres. Ils ont aussi des alias comme ra, sp ou a0, et leurs rôles sont fixés par la convention d'appel. Pour l'embarqué, il existe aussi RV32E, réduit à 16 registres.

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

Autres questions sur ISA et assembleur

  1. Quelle relation entre langage assembleur et langage machine est correcte ?
  2. Par quelle instruction l'assembleur remplace-t-il réellement la pseudo-instruction RISC-V « nop » (ne rien faire) ?
  3. Quelle est la différence correcte entre les instructions RISC-V « add » et « addi » ?
  4. Après l'exécution du code RISC-V ci-dessus, quelle est la valeur du registre a2 ?
  5. Quel est le fonctionnement correct de l'instruction RISC-V « lw t0, 8(sp) » ?