dポイントプレゼントキャンペーン実施中!

lw r1,0(r4)
上記のような命令を実行したとします。レジスタ群r4には32ビット00000000000000000000000000100100が入っています。これは10進数にすると36なので0(r4)=0+36=36になります。
そしてメインメモリのアドレス36番地には10000001111111111111111111111111が入っていてこれをレジスタ群r1に移動します。
けれどもレジスタ群r1には00000000000000000000000000011000が最初から入っています。
ここで質問なんですがこの場合アドレス36番地の値と最初から入っていたレジスタ群r1の値は足さなければならないのですか?
それともアドレス36番地の値をそのままレジスタ群r1につっこんでもいいのでしょうか?

A 回答 (2件)

lw だから上書き

    • good
    • 0
この回答へのお礼

つまりr1に0(r4)をそのままいれればいいんですね。分かりました、どうもありがとうございました

お礼日時:2008/02/09 18:14

ごめん、何を聞きたいのかよく分からない。


足さなければならないも何も、
ロード命令で加算はできないでしょう?
加算したいならadd系の命令を使うのでは。

この回答への補足

すいません、確かに分かりにくすぎる質問かと思います。自分も質問の仕方に困りました。
僕が知りたいのは、lw r1,0(r4)の命令を実行したときに0(r4)の値0000・・・00100100をr1に移動するにあたって、r1には最初から0000・・・00011000の32ビットのデータが入ってるんですけどそれに関係なく0(r4)の値をそのままr1入れれるか、ということです。
まだ質問が分かりにくいですかね・・?

補足日時:2008/02/09 17:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!