我需要将此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:

最佳答案

您的循环从0到14,因此您的bgt指令应为:bgt $t0,14,exit我认为。

关于assembly - MIPS组件实现简单的for循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9155336/

10-12 13:41