平成23年特別試験午前問題 午後問12

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

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

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

〔プログラム1の説明〕
 連続する16語に格納した16×16ドットの白黒の図形を,時計回りに90度回転する副プログラム ROTATE である。図形の回転の実行例を図1に示す。このとき,1ドットを1ビットで表し,白は0,黒は1が格納されている。
  • 図形を表す16語の先頭アドレスは GR1 に設定されて,主プログラムから渡される。
  • 回転した結果の図形を格納する領域の先頭アドレスは GR2 に設定されて, 主プログラムから渡される。
  • 元の図形と回転した図形は,異なる領域に格納される。
  • 副プログラムから戻るとき,汎用レジスタ GR1 ~ GR7 の内容は元に戻す。
pm12_1.gif
pm12_2.gif

設問1

プログラム1中の に入れる正しい答えを,解答群の中から選べ。
a,b に関する解答群
  • LAD GR1,-1,GR1
  • LAD GR1,1,GR1
  • LAD GR2,-1,GR2
  • LAD GR2,1,GR2
  • LAD GR5,-1,GR5
  • LAD GR5,1,GR5
解答選択欄
  • a:
  • b:
  • a=
  • b=

解説

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

設問2

行番号9を次のとおりに変更し,図1の回転前を元の図形として実行した。実行結果の図形として正しい答えを,解答群の中から選べ。

  SRL  GR6,1
解答群
  • pm12_3a.gif
  • pm12_3i.gif
  • pm12_3u.gif
  • pm12_3e.gif
解答選択欄
  •  
  •  

解説

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

設問3

プログラム1中の行番号3,4をプログラム2に置き換えて,16×16ドットの図形のうち左上のn×nドットの部分だけを時計回りに90度回転するプログラムとした。左上の8×8ドットの部分だけを回転した実行例を図2に示す。
 値n(1≦n≦16)は GR3 に設定されて主プログラムから渡される。
 置換え後のプログラムは,まず,回転の対象とならないドット(元の図形の上n語の右(16-n)ビットと下(16-n)語の全ビット)を結果の領域の適切な場所に複写する。その後,左上のn×nドットの部分を回転して結果の領域に格納する。
 プログラム2の に入れる正しい答えを,解答群の中から選べ。
pm12_4.gif
pm12_5.gif
c に関する解答群
  • SLL  GR0,-1,GR3
  • SLL  GR0,0,GR3
  • SRL  GR0,-1,GR3
  • SRL  GR0,0,GR3
d に関する解答群
  • JMI  LOOP1
  • JNZ  LOOP1
  • JPL  LOOP1
  • JZE  LOOP1
解答選択欄
  • c:
  • d:
  • c=
  • d=

解説

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

Pagetop