基本情報技術者過去問題 平成30年秋期 午後問12

問12 

次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。

〔プログラムの説明〕
 1970年1月1日(以下,基準日という)から,指定された日付までの日数を求める副プログラム群である。日付は,全て西暦(グレゴリオ暦)の日付であり,基準日以降でなければならない。
  • プログラム1は,基準日から指定された日付までの日数を計算する副プログラム DAYOFFST である。日付は,GR2 に設定されたアドレスから始まる連続した3語に年,月,日を表す数値でこの順に格納され,誤りはないものとする。基準日を0日目とし,指定された日付までの日数を,符号のない数値(0〜65535)として GR0 に設定して呼出し元に戻る。ただし,日付は基準日から65535日目までの日付で与えられる。
  • プログラム2は,うるう年を判定する副プログラム LEAPYEAR である。GR2 に設定された年が平年の場合は0を,うるう年の場合は1を,GR0 に設定して呼出し元に戻る。年が平年であるか,うるう年であるかの判定は,次の順に行う。
    1. 年が4で割り切れない場合,平年とする。
    2. 年が4で割り切れ,かつ100で割り切れない場合,うるう年とする。
    3. 年が400で割り切れる場合,うるう年とする。
    4. ①〜③のいずれでも決定しなかった場合,平年とする。
  • 副プログラム DIVISIBL は,GR2 に設定された整数値が GR3 に設定された整数値で割り切れる場合は1を,割り切れない場合は0を,GR0 に設定して呼出し元に戻る。プログラムのソースコードは,省略する。
  • 各副プログラムから戻るとき,汎用レジスタ GR1〜GR7 の内容は元に戻す。

設問1

プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • LAD GR4,ACCMDAYS
  • LAD GR4,ACCMDAYS,GR3
  • LAD GR4,ACCMDAYS,GR5
  • LD  GR4,ACCMDAYS
  • LD  GR4,ACCMDAYS,GR3
  • LD  GR4,ACCMDAYS,GR5
b に関する解答群
  • JMI BREAK
  • JNZ BREAK
  • JOV BREAK
  • JPL BREAK
  • JUMP BREAK
  • JZE BREAK
c に関する解答群
  • JMI FIN
  • JNZ FIN
  • JOV FIN
  • JUMP FIN
  • JZE FIN
d に関する解答群
  • AND GR0,=#FFFE
  • AND GR0,=1
  • OR  GR0,=#FFFE
  • OR  GR0,=1
  • XOR GR0,=#FFFE
  • XOR GR0,=1

解答選択欄

  • a:
  • b:
  • c:
  • d:

解答

  • a=
  • b=
  • c=
  • d=

解説

この設問の解説はまだありません。

設問2

次の記述中の に入れる正しい答えを,解答群の中から選べ。

 副プログラム DAYOFFST に,基準日から65536日目以降32767年12月31日までの日付を与えた場合には,あふれが発生し,正しい結果を返すことができない。あふれが発生したことを呼出し元に通知するために,フラグレジスタ FR の OF が1の状態で呼出し元に戻るようにしたい。このためには,プログラム1の行番号eの行の直後にf命令を挿入し,ラベル EXIT の行に分岐する必要がある。
e に関する解答群
  • 8
  • 13
  • 18
  • 19
  • 20
f に関する解答群
  • JMI
  • JNZ
  • JOV
  • JPL
  • JZE

解答選択欄

  • e:
  • f:

解答

  • e=
  • f=

解説

この設問の解説はまだありません。
【30年秋期 午後問題】
 問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 問12 問13
© 2010-2019 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop