ISA et assembleur

Quelle est la différence correcte entre les instructions RISC-V « add » et « addi » ?

  1. Aadd additionne des entiers, addi des nombres à virgule flottante
  2. Badd additionne une valeur en mémoire, addi une valeur de registre
  3. Cadd additionne deux registres, addi un registre et une constante écrite dans l'instruction (immédiat)
Afficher la réponse et l'explication

Réponse : C. add additionne deux registres, addi un registre et une constante écrite dans l'instruction (immédiat)

« add rd, rs1, rs2 » place dans rd la somme de deux registres, et « addi rd, rs1, imm » additionne un registre et une constante de 12 bits intégrée à l'instruction (immédiat). L'immédiat évite de préparer d'abord la constante dans un registre. RISC-V n'a pas d'instruction de soustraction immédiate ; on soustrait en additionnant un immédiat négatif, comme « addi t0, t0, -1 ».

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

Autres questions sur ISA et assembleur

  1. Après l'exécution du code RISC-V ci-dessus, quelle est la valeur du registre a2 ?
  2. Quel est le fonctionnement correct de l'instruction RISC-V « lw t0, 8(sp) » ?
  3. Dans l'instruction de branchement conditionnel RISC-V « beq a0, a1, label », comment l'adresse de la cible label est-elle représentée ?
  4. Quel est l'avantage d'utiliser l'adressage relatif au PC pour les branchements et sauts ?
  5. Quelle affirmation concernant la longueur des instructions de base RISC-V et des instructions x86 est correcte ?