Befehlssatz und Assembler
Welchen Wert hat t0, wenn der obige RISC-V-Code ausgeführt wurde?
li t0, 0
li t1, 4
loop: add t0, t0, t1
addi t1, t1, -1
bnez t1, loop
- A4
- B10
- C6
Antwort und Erläuterung anzeigen
Antwort: B. 10
t1 wird von 4 aus jeweils um 1 verringert und zu t0 addiert. t0 wächst auf 4, 7, 9, 10; sobald t1 0 wird, verzweigt bnez (verzweigt, wenn ungleich 0) nicht mehr, und die Schleife endet. Das Ergebnis ist 4+3+2+1=10. bnez ist ein Pseudobefehl für „bne t1, zero, loop“. Die Form, einen Zähler herunterzuzählen und mit 0 zu vergleichen, ist verbreitet, da keine Vergleichskonstante nötig ist.