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

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

問12 ソフトウェア開発(アセンブラ)

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

〔プログラム1の説明〕
 主プログラムから渡された二つの数字列(数字列1と数字列2)をそれぞれ正の10進数とみなして加算し,結果を数字列で返す副プログラム ADDC である。二つの数字列の加算の例を図1に示す。
pm12_1.gif
  • 汎用レジスタ GR1~GR5 には,それぞれ次の内容が設定されて,主プログラムから渡される。
    GR1:
    数字列1の先頭アドレス
    GR2:
    数字列2の先頭アドレス
    GR3:
    結果領域の先頭アドレス
    GR4:
    数字列1の長さ(文字数)
    GR5:
    数字列2の長さ(文字数)
  • 数字は1語に1文字格納する。
  • 結果の数字列は結果領域に格納し,長さ(文字数)は GR0 に設定して,主プログラムに返す。
  • 数字列1と数字列2の長さ(文字数)は,それぞれ1以上とする。
  • 数字列1と数字列2の左端の文字は"0"でないものとする。
  • 副プログラムから戻るとき,汎用レジスタ GR1~GR7 の内容は元に戻す。
pm12_2.gif

設問1

プログラム1中の に入れる正しい答えを, 解答群の中から選べ。
a,b,c に関する解答群
  • SUBA GR4,=1
  • SUBA GR4,=9
  • SUBA GR4,=10
  • SUBA GR5,=1
  • SUBA GR5,=9
  • SUBA GR5,=10
  • SUBA GR6,=1
  • SUBA GR6,=9
解答選択欄
  • a:
  • b:
  • c:
  • a=
  • b=
  • c=

解説

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

設問2

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

 図1の数字列1と数字列2を引数として副プログラム ADDC を実行した場合,行番号25のLD命令はd回実行される。
d に関する解答群
  • 0
  • 1
  • 2
  • 3
  • 4
解答選択欄
  • d:
  • d=

解説

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

設問3

副プログラム ADDC を使用して,n個(n ≧1)の数字列を入力し,総和を求めて数字列で出力するプログラム SUMC を作成した。n=5の場合の例を図2に示す。
 プログラム2中の に入れる正しい答えを,解答群の中から選べ。
 なお,入力される数字列,総和は256桁以内に収まるものとする。
pm12_3.gif
pm12_4.gif
e,f に関する解答群
  • LAD GR3,BUF1
  • LAD GR3,BUF2
  • LAD GR3,BUF3
  • LD GR3,GR0
  • LD GR4,GR0
  • LD GR5,GR0
解答選択欄
  • e:
  • f:
  • e=
  • f=

解説

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

Pagetop