私は最近、CコードとMIPSコードでバイナリ1の数を数えるためのコードを作成しました。私はCで余りの値を使い、count_one変数をインクリメントします。 MIPSでは、同じプログラムを実行しましたが、1のすべてを数えるまで、そのバイトのバイトをシフトしました。 Howver、私はポインタを使う方法を学びたいと思っていますが、私はそのコンセプトを理解しているようには見えません。次のように私のMIPSのコードは次のとおりです。MIPSコードを操作してスタックポインタを使用するには?
.data
prompt: .asciiz "Enter a integer: "
.text
li $v0,4
la $a0, prompt
syscall
li $v0,5
syscall
move $s0,$v0
j count
count:
beq $s0,0, exit
andi $t0,$s0,1
add $t1,$t1,$t0
srl $s0,$s0,1
j count
exit:
move $a0,$t1
la $v0,1
syscall
li $v0,10
syscall
私はこの完全なMIPSコードを取得するが、私はポインタが完全にMIPSで作業し、読んだ後、私はまだ理解していない方法についてはわからないと思います。ポインタの実装方法に関するアドバイスはありますか?
ありがとうございました。私の主な混乱は、メモリサイズを宣言し、8,4,0($ sp)行に基づいて変数を実装する方法を考え出すことです。 – CodeFreak
私はお手伝いします。がんばろう。 – oklas
あなたは十分なメモリ部分を割り当てる全体を説明できますか? – CodeFreak