平成26年春  問12 設問3 d

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
かなりあさん  
(No.1)
dの選択肢の中のイかエで迷ってしまい、どちらかを判断するにはdの1つ下の行のjump 0,gr3で判断するのだと思います。
しかし、jump 0,gr3がどのような操作なのかいまいちわかりません。教えてほしいです。
よろしくお願いします

2021.02.12 17:15
関数従属さん 
FE・ゴールドエキスパート
(No.2)
JUMP 0,GR3はGR3に設定されているアドレスにジャンプするものです。

この問ではジャンプしたい場所は、
*の場合MULT、+の場合PLUS、-の場合MINUS
となります。

*や+や-の文字コードは
*が2A、+が2B、-が2Dですので、
SUBL GR3,='*'をする事でGR3の値は
*の場合0、+の場合1、-の場合3となります。

また、LTBLは(仮に1000番地から始まるとすると)
1000番地 MULTのアドレス
1001番地 PLUSのアドレス
1002番地 1(ダミーアドレス)
1003番地 MINUSのアドレス
が設定されることになります。

エの LD GR3,LTBL,GR3をすることで、GR3に
GR3が0(*)の場合1000番地の値(MULTのアドレス)
GR3が1(+)の場合1001番地の値(PLUSのアドレス)
GR3が3(-)の場合1003番地の値(MINUSのアドレス)
が設定され、JUMP 0,GR3でGR3に設定されている
それぞれのアドレスにジャンプできます。

イの LAD GR3,LTBL,GR3だと
GR3が0(*)の場合1000という値(1000番地というアドレス)
GR3が1(+)の場合1001という値(1001番地というアドレス)
GR3が3(-)の場合1003という値(1003番地というアドレス)
が設定されてしまい、不明なアドレスにジャンプします。
2021.02.13 12:12
かなりあさん  
(No.3)
理解することができました。
関係従属さんありがとうございます
2021.02.13 17:43

返信投稿用フォーム

スパム防止のためにスレッド作成から30日以上経過したスレッドへの書き込みは禁止しています。

その他のスレッド


Pagetop