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

問12 

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

〔プログラム1,2の説明〕
 非負整数nについて,階乗の値F(n)を求める副プログラム FACT である。
  • F(n)=1 (n=0,1)
  • F(n)=n×(n−1)×…×1 (n≧2)
 例えば,F(3)=3×2×1=6である。
  • FACT は,n が GR1 に設定されて呼ばれ,計算結果を GR0 に設定して呼出し元に戻る。nは,F(n)の値が16ビット符号なし2進整数の範囲に収まるように与えられる。FACT は副プログラム MULT を利用する。
  • MULT は,16ビット符号なし2進整数同士の乗算を行う副プログラムであり,被乗数と乗数がそれぞれ GR0,GR2 に設定されて呼ばれ,乗算結果を GR0 に設定して呼出し元に戻る。乗算結果の桁あふれは発生しないものとする。
  • 副プログラムから戻るとき,汎用レジスタ GR1〜GR7 の内容は元に戻す。

設問1

プログラム1,2中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • JMI  NEXT
  • JNZ  NEXT
  • JOV  NEXT
  • JPL  NEXT
  • JZE  NEXT
b に関する解答群
  • ADDL  GR1,=1
  • LAD  GR1,1,GR1
  • LD   GR1,GR1
  • SRL  GR1,1
  • SUBL  GR1,=1
c に関する解答群
  • SLL  GR0,0,GR3
  • SLL  GR1,0,GR3
  • SLL  GR4,0,GR3
  • SRL  GR0,0,GR3
  • SRL  GR1,0,GR3
  • SRL  GR4,0,GR3

解答選択欄

  • a:
  • b:
  • c:

解答

  • a=
  • b=
  • c=

解説

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

設問2

プログラム1の FACT を使用してF(4)を求めるとき,行番号12の RPOP 命令実行直前の GR2 に設定されている値として正しい答えを,解答群の中から選べ。
解答群
  • 1
  • 2
  • 3
  • 4
  • 5

解答選択欄

  •  

解答

  •  

解説

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

設問3

F(n)は次のように再帰的に表現することができる。
  • F(n)=1 (n=0,1)
  • F(n)=n×F(n−1) (n≧2)
 上記に基づいて,プログラム3の FACT2 を作成した。ここで,FACT2 は FACT と同様に呼ばれる。また,FACT2 に制御が移り,行番号2の RPUSH 命令を実行した直後の SP の値をBとする。
 次の記述中の に入れる正しい答えを,解答群の中から選べ。

 FACT2 を使用してF(3)を求めるとき,行番号11の命令を初めて実行した直後の SP の値はdである。また,当該 SP で示される番地に格納されている値はeである。
pm12_2.gif/image-size:415×351
d に関する解答群
  • B + 1
  • B + 2
  • B
  • B - 1
  • B - 2
e に関する解答群
  • 1
  • 2
  • 3
  • 行番号 4 の命令が置かれたアドレス
  • 行番号 14 の命令が置かれたアドレス

解答選択欄

  • d:
  • e:

解答

  • d=
  • e=

解説

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

Pagetop