Мне нужно перевести этот код C на сборку MIPS. Вот код C:MIPS сборка для простой петли
int tmp = 0;
for (int j = 0; j < 15; ++j)
tmp = tmp * 2 + 3
Это мой MIPS кода сборки. Это правильный перевод? Если вы увидите какие-то ошибки, которые мне действительно хотелось бы узнать.
# 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:
Для умножения по степеням 2 использования sll. Не ** используйте ** mul –