ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:ogihs 命令
困り度:
  • すぐに回答を!
lw r1,0(r4)
上記のような命令を実行したとします。レジスタ群r4には32ビット00000000000000000000000000100100が入っています。これは10進数にすると36なので0(r4)=0+36=36になります。
そしてメインメモリのアドレス36番地には10000001111111111111111111111111が入っていてこれをレジスタ群r1に移動します。
けれどもレジスタ群r1には00000000000000000000000000011000が最初から入っています。
ここで質問なんですがこの場合アドレス36番地の値と最初から入っていたレジスタ群r1の値は足さなければならないのですか?
それともアドレス36番地の値をそのままレジスタ群r1につっこんでもいいのでしょうか?
質問投稿日時:08/02/09 15:52
質問番号:3759262
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答10pt

回答者:Tacosan lw だから上書き
種類:回答
どんな人:一般人
自信:参考意見
回答日時:08/02/09 17:55
回答番号:No.2
この回答へのお礼つまりr1に0(r4)をそのままいれればいいんですね。分かりました、どうもありがとうございました

回答

 

回答者:Werner ごめん、何を聞きたいのかよく分からない。
足さなければならないも何も、
ロード命令で加算はできないでしょう?
加算したいならadd系の命令を使うのでは。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/02/09 16:01
回答番号:No.1
この回答への補足すいません、確かに分かりにくすぎる質問かと思います。自分も質問の仕方に困りました。
僕が知りたいのは、lw r1,0(r4)の命令を実行したときに0(r4)の値0000・・・00100100をr1に移動するにあたって、r1には最初から0000・・・00011000の32ビットのデータが入ってるんですけどそれに関係なく0(r4)の値をそのままr1入れれるか、ということです。
まだ質問が分かりにくいですかね・・?
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示