2オペランド1メモリアドレスマシンにおいて
c=a(1)*100
d(3)=a(2)+b(1)
を計算する命令列を書きたいのですが,
load R5,(R1) mul R5,#100 store (R3),R5 load R6,(R2) load R5,(200) add R5,R6 store (R4),R5
では問題ありますか?
a(1):アドレスがR1に格納されている
b(1):配列(1)のアドレスは200番地の中にある
c:R3の中にcのアドレスが格納されている
d(1):d(1)のアドレスはR2に格納されている
という条件です.
アセンブラは何ですか?
すいません,知識が全然なくてアセンブラの種類があまり分からないのですが,RISCとかCISCのことでしょうか.アドレッシングモードとは異なりますよね.アドレッシングモードはどのような形でも構わないのですが.
あなたの提示しているコードはどういう意味を持ってるんでしょうか。
考え方におかしなところがあった気がしたので少し編集させていただきました.
R1の値がa(1)のアドレスをしますのでR1番地の値をR5に格納します.
R5に定数100を乗算します.
このR5の値をR3番地に格納します.
R5に200番地の値を格納します.
R2番地の値をR6に格納します.
R6とR5の値を加算してR5に格納します.
R5をR4番地に格納します.
回答2件
あなたの回答
tips
プレビュー