平成21年春期午後問12  アセンブラ

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ymp-aさん  
(No.1)
https://www.fe-siken.com/kakomon/21_haru/pm12.html
設問1のcが分からないです。

設問1のa
行番号7  LP  SRL  GR2
論理シフトはマイナスにならない  ア JMI  ADD32、イ JMI  LPL  選択肢から消去
プログラム1を読むとJUMP先ADD32がないのでウ JOV  ADD32、オ JPL  ADD32に絞れる
GR2を仮に00000001とした時
ウだと1回はADD32へ飛べる
オではJZE  FINへ飛んでGR6,GR7になにもしてないのでおかしい

よってウ JOV  ADD32

設問1のb
aと同じように直前のADDL  GR7,GR5は論理演算のためア JMI  ADJ1、イ JMI  ADJ2は消去
cの選択肢にもJUMP先にADJ1がないのでウ JOV  ADJ1、オ JPL  ADJ1に絞れる
ADJ1  ADDL  GR6,=1はけた上げ処理なのでGR7がけた溢れ(オーバーフロー)していれば良い
ウ JOV  ADJ1

設問1のc
直前のNEXT  SLL  GR4,1  左へ1ビットシフトしてGR4の値が2倍になっていく
直下に
  JOV  ADJ2
  JUMP  LP
ADJ2  OR  GR4,=1
  JUMP  LP
と結果LPに飛ぶことが分かるのでエ SLL  GR5,1、オ SRA  GR5,1、カ SRL  GR5,1に絞れる
今回符号なし整数なのでエ、カのどっちかと予想
オーバーフロー後の処理  
ADJ2  OR  GR4,=1  GR4と00000001をOR演算する
GR4は左へ1ビット論理シフトしているため右端は0
けた上げ処理?をしているならば
エ SLL  GR5,1が正解


私は深く考えずに右に論理シフトすれば即オーバーフローすると思いカにして間違えました。
2021.02.18 13:42

返信投稿用フォーム

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

その他のスレッド


Pagetop