Ho bisogno di tradurre questo codice C in assembly MIPS. ecco il codice C:Assemblaggio MIPS per un ciclo semplice per
int tmp = 0;
for (int j = 0; j < 15; ++j)
tmp = tmp * 2 + 3
Questo è il mio codice assembly MIPS. È una traduzione corretta? Se vedi errori, mi piacerebbe davvero saperlo.
# tmp = $v0
# j = $t0
.globl main
main:
li $v0,0
loop:
bgt $t0,15,exit
addi $t0,$t0,1
mul $t1,$v0,2
add $v0,$t1, 3
j loop
exit:
Per moltiplicare per le potenze di 2 usare sll. Do ** not ** usa mul –