1. ホーム
  2. assembly

[解決済み】単純なforループのためのMIPSアセンブリ

2022-02-15 14:24:12

質問内容

この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 と思っています。

.