2014年平成26年春問12のdについての質問

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
fugaさん  
(No.1)
アセンブラについての質問になりますが,dの答えは「エ」なのですが,GR3にはLTBLに格納された文字列が入っていると思っているのですが,GR3にPLUSが格納されているとして,
JUMP 0,GR3
でPLUSに分岐できるのでしょうか?
私はLD命令ではPLUSという文字列がGR3に格納されるから,多分「イ」の
LAD GR3,LTBL,GR3
だと思ったのですがどうやらLD命令でできるようです.
2020.09.07 15:31
メタルさん 
FE ブロンズマイスター
(No.2)
まだ読んでるかわからないけど書いておきます。
これは文字列ではなく、ラベル、つまりコードの何行目かを示すアドレスの代わりをするものです。
CASL2では文字列は  '  (アポストロフィー)で両端をくくります。
アポストロフィーでくくってないのでラベルとして扱われます。
アドレス番号を直接扱うとズレたりするので、ラベルを使います。
機械語に変換つまりアセンブルされた時点でアドレスに変わります。
アドレスとほぼ同じ扱いができると考えてください。
>>JUMP 0,GR3
>>でPLUSに分岐できるのでしょうか?
できます。
>>私はLD命令ではPLUSという文字列がGR3に格納されるから,多分「イ」の
>>LAD GR3,LTBL,GR3
>>だと思ったのですがどうやらLD命令でできるようです.
ややこしいですが、LTBLの最初のアドレス+GR3に格納されているラベル、例えばPLUSのラベルがある命令の行のアドレスをGR3に格納するのはLD命令のほうで、
LADだとLTBLのアドレス+GR3のアドレスが格納されるためLTBLのアドレスがGR3に格納されるため意味を成しません。
2020.09.15 22:48

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop