ISA et assembleur
Une fois l'exécution du code RISC-V ci-dessus terminée, quelle est la valeur de t0 ?
li t0, 0
li t1, 4
loop: add t0, t0, t1
addi t1, t1, -1
bnez t1, loop
- A4
- B10
- C6
Afficher la réponse et l'explication
Réponse : B. 10
On décrémente t1 à partir de 4 tout en ajoutant t1 à t0. t0 prend successivement les valeurs 4, 7, 9 et 10 ; lorsque t1 atteint 0, bnez (brancher si non nul) ne branche plus et l'on sort de la boucle. Le résultat est 4 + 3 + 2 + 1 = 10. bnez est la pseudo-instruction de « bne t1, zero, loop ». Décrémenter un compteur et le comparer à 0 est une forme courante, car elle ne nécessite pas de constante de comparaison.