1. ホーム
  2. loops

[解決済み] MIPSで階乗を行うコードはどのように書くのですか?

2022-02-07 20:05:25

質問内容

問題にはこうあります。現在$t0に格納されている正の数の階乗を計算し、その結果を$t1に格納するループを4命令で書いてください。

これは私が今持っているものです......かなりうまくいっていると思いますが、6命令です。

       li $t3, 1
       move $t1, $t0
       move $t2, $t0
 LOOP: addi $t2, $t2, -1
       mul $t1, $t1, $t2
       bne $t2, $t3, LOOP

編集する 以下はその解答です。

 li $t1 1 
 LOOP: mul $t1 $t1 $t0 
 addi $t0 $t0 -1 
 bgez $t0 LOOP 

解決方法は?

 li $t1 1 
 LOOP: mul $t1 $t1 $t0 
 addi $t0 $t0 -1 
 bgez $t0 LOOP