MIPS程序集用于简单的for循环

use*_*154 7 assembly mips mips32

我需要将此C代码转换为MIPS程序集.这是C代码:

int tmp = 0; 
for (int  j = 0; j < 15; ++j) 
     tmp = tmp * 2 + 3
Run Code Online (Sandbox Code Playgroud)

这是我的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:
Run Code Online (Sandbox Code Playgroud)

MrD*_*MrD 8

你的循环从0到14,所以你的bgt指令应该是:bgt $t0,14,exit我想.

.