- 締切済み
命令
lw r1,0(r4) 上記のような命令を実行したとします。レジスタ群r4には32ビット00000000000000000000000000100100が入っています。これは10進数にすると36なので0(r4)=0+36=36になります。 そしてメインメモリのアドレス36番地には10000001111111111111111111111111が入っていてこれをレジスタ群r1に移動します。 けれどもレジスタ群r1には00000000000000000000000000011000が最初から入っています。 ここで質問なんですがこの場合アドレス36番地の値と最初から入っていたレジスタ群r1の値は足さなければならないのですか? それともアドレス36番地の値をそのままレジスタ群r1につっこんでもいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
lw だから上書き
- Werner
- ベストアンサー率53% (395/735)
回答No.1
ごめん、何を聞きたいのかよく分からない。 足さなければならないも何も、 ロード命令で加算はできないでしょう? 加算したいならadd系の命令を使うのでは。
質問者
補足
すいません、確かに分かりにくすぎる質問かと思います。自分も質問の仕方に困りました。 僕が知りたいのは、lw r1,0(r4)の命令を実行したときに0(r4)の値0000・・・00100100をr1に移動するにあたって、r1には最初から0000・・・00011000の32ビットのデータが入ってるんですけどそれに関係なく0(r4)の値をそのままr1入れれるか、ということです。 まだ質問が分かりにくいですかね・・?
お礼
つまりr1に0(r4)をそのままいれればいいんですね。分かりました、どうもありがとうございました