平成27年春期試験午後問題 問12

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】

問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 の内容は元に戻す。
pm12_1.png

設問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.png
d に関する解答群
  • B + 1
  • B + 2
  • B
  • B - 1
  • B - 2
e に関する解答群
  • 1
  • 2
  • 3
  • 行番号 4 の命令が置かれたアドレス
  • 行番号 14 の命令が置かれたアドレス
解答選択欄
  • d:
  • e:
  • d=
  • e=

解説

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

Pagetop