0
私はこの割り当てをしており、開始方法を理解するのに問題があります。値を加算して平均を計算するMIPSプログラムを作成します。
次のようにあなたのプログラムは、データセクションが宣言している:
.data .byte 12 .byte 97 .byte 133 .byte 82 .byte 236
は値を加算して平均を計算するプログラムを作成します。私は少しを行っているが、私はQtSpimに.ASMファイルをロードしようとするたびに、それはdoesnの中間結果に
を保存するために$8
平均を保存するためにベースアドレス、$9
を保存し、$10
にご利用ください正しく実行さえしない(すなわち、$8
を除いて何もレジスタにロードされない)。私はthisを読んでいますが、何をすべきかをすべて理解している運はありません。ここに私が持っているものがあります:
編集:私はもう少し読んだ後にそれを働かせました。あるいは、少なくとも私は正しい道を歩いている。なぜなら、私は$ 9で正しい答えを得るからだ。
## Assignment4_Question2.asm
.data
b1: .byte 12
b2: .byte 97
b3: .byte 133
b4: .byte 82
b5: .byte 236
.text
main:
ori $13,$0,0x5 # Initialize 5 for division later on
ori $12,$0,0 # Initialize $12 with 0
lui $8,0x1000 # Save base address
lbu $11,b1($8) # Load byte 1
addu $10,$11,$12 # Add byte 1 to $12; $10 is now sum
lbu $11,b2($8) # Load byte 2
addu $10,$11,$10 # Add byte 2 to sum
lbu $11,b3($8) # Load byte 3
addu $10,$11,$10 # Add byte 3 to sum
lbu $11,b4($8) # Load byte 4
addu $10,$11,$10 # Add byte 4 to sum
lbu $11,b5($8) # Load byte 5
addu $10,$11,$10 # Add byte 5 to sum
divu $10,$13 # Divide sum by 5
mflo $9 # Store in $9
## End of file
なぜ12($ 8)と97(8)からロードしようとしますか?私が知る限り、あなたはそれらの住所に何も置いていません。 – Michael
私は最初は本当に混乱していましたが、私はちょうど今それを仕上げました。私は私の答えを私の投稿に編集します。 –