平成30年春期 午後問12 設問2
悪戦苦闘さん
(No.1)
LD命令には、ふと、おやっと思うことが度々あり、頭が混乱しています。
例えば、
GR1には、文字領域の先頭アドレスが入っています。
LD GR6,GR1 → 文字領域の先頭アドレスをGR6にコピーする。
つまり、GR6には、データとして、アドレスが入っています。
ラベルLP内の
LD GR4,0,GR6 → GR6に入っているアドレスが示すデータ(1文字)をGR4にコピーする。
また、ラベルNUM内の
LD GR1,GR6 → GR6に入っているアドレスをGR1にコピーする。
といった具合です。
なぜ、
LD GR1,GR6 → GR6に入っているアドレスが示すデータををGR1にコピーする。
とは、ならないのでしょうか。
LD GR4,0,GR6は、指標レジスタ「0」が入っているから、0,GR6の部分が主記憶上のアドレスを示し、そのアドレスに格納されているデータと考え、
LD GR6,GR1やLD GR1,GR6は、レジスタ間のやりとりなので、GR6は元々レジスタに入っているデータ(アドレス)と考えるのでしょうか。どなたか考え方を教えてください。
よろしくお願いいたします。
例えば、
GR1には、文字領域の先頭アドレスが入っています。
LD GR6,GR1 → 文字領域の先頭アドレスをGR6にコピーする。
つまり、GR6には、データとして、アドレスが入っています。
ラベルLP内の
LD GR4,0,GR6 → GR6に入っているアドレスが示すデータ(1文字)をGR4にコピーする。
また、ラベルNUM内の
LD GR1,GR6 → GR6に入っているアドレスをGR1にコピーする。
といった具合です。
なぜ、
LD GR1,GR6 → GR6に入っているアドレスが示すデータををGR1にコピーする。
とは、ならないのでしょうか。
LD GR4,0,GR6は、指標レジスタ「0」が入っているから、0,GR6の部分が主記憶上のアドレスを示し、そのアドレスに格納されているデータと考え、
LD GR6,GR1やLD GR1,GR6は、レジスタ間のやりとりなので、GR6は元々レジスタに入っているデータ(アドレス)と考えるのでしょうか。どなたか考え方を教えてください。
よろしくお願いいたします。
2018.10.14 19:03
助け人さん
★FE ゴールドマイスター
(No.2)
問題用紙巻末の「アセンブラ言語の仕様」のロード命令を解釈します。
LD r1, r2 … r1 ← (r2)
r1レジスタにr2レジスタの内容(データだろうがアドレスだろうが)をロード
LD r, addr [, x] … r ← (実効アドレス)
rレジスタにaddrまたはaddr, xのアドレスにある内容をロード
したがって、GR1の内容をGR0にロードするときは
LD GR0, GR1と書き、
GR1に入っているアドレスにある内容をGR0にロードするときは
LD GR0, 0, GR1と書きます。
LD r1, r2 … r1 ← (r2)
r1レジスタにr2レジスタの内容(データだろうがアドレスだろうが)をロード
LD r, addr [, x] … r ← (実効アドレス)
rレジスタにaddrまたはaddr, xのアドレスにある内容をロード
したがって、GR1の内容をGR0にロードするときは
LD GR0, GR1と書き、
GR1に入っているアドレスにある内容をGR0にロードするときは
LD GR0, 0, GR1と書きます。
2018.10.14 20:03
悪戦苦闘さん
(No.3)
助け人さん、この度もありがとうございます。
また一つ、スッキリしました。
これからも納得がいくまで、粘り強く頑張ります。(^^)
また一つ、スッキリしました。
これからも納得がいくまで、粘り強く頑張ります。(^^)
2018.10.14 21:06
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告