Сборка MIPS для простого цикла for

Мне нужно перевести этот код C на сборку MIPS. Вот код C:

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:
7
задан Gilles 'SO- stop being evil' 23 October 2012 в 14:19
поделиться