2012-05-13 26 views
2

こんにちはとの違いを評価し、このループをコーディングする必要があります。アセンブリMIPSはBEQ

for($6=10;$6!=0;$6--){ 
    $7=$6; 
} 

が、いくつかの条件付き。私はBEQしか使用できず、各レジスタの初期値はレジスタの数であると仮定しなければなりません。

BEQを使用すると、その違いをどのように評価できますか?

私はこの

main: 
    add $6,$5,$5 
    for: 
     add  $7,$6,$0 
     sub  $6,$6,$1 
     beq  $6,for 

を作ったが、私は、検証にこだわっています。

+0

"ループ" は、 '$ 6'の設定で構成されていることをコーディングに '0'と '1'確かに、に' $ 7'?確かに – paxdiablo

+0

です。これは最初のステップです。 MIPSマシンコード上で変換する必要があります。私は最後のステップを行う方法を知っているが、最初の(最も簡単):) – Favolas

答えて

2
  1. $ 6を10に設定します。 を上書きしようとすると、$ 6に6の初期値を与えるのはなぜですか?
  2. ループを入力し、$ 7から$ 6を設定します。
  3. $ 6をデクリメントし、$ 6が0の場合は次のラベルにジャンプします。そうでない場合は がループの先頭にジャンプします。

コード:

li $6, 10 
for: 
    move $7, $6 
    subi $6, $6, 1 
    beq $6, $0, end 
    j for 
end: 
+0

もう一度、ありがとう:) – Favolas

関連する問題