平成22年秋期試験午後問題 問12

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

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

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

〔プログラムの説明〕
 16ビット(1語)からなるビット列のビットの並びを,図1に示すように逆転する副プログラム REVRS である。
pm12_1.gif
  • ビット列を格納している語のアドレスは GR1 に設定されて,主プログラムから渡される。
  • 結果は元の領域に格納して,主プログラムに返す。
  • 副プログラムから戻るとき,汎用レジスタ GR1~GR7 の内容は元に戻す。
pm12_2.gif

設問1

プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • JMI  ON
  • JNZ  ON
  • JOV  ON
  • JPL  ON
b に関する解答群
  • SLL  GR4,-1,GR2
  • SLL  GR4,0,GR2
  • SRL  GR4,-1,GR2
  • SRL  GR4,0,GR2
解答選択欄
  • a:
  • b:
  • a=
  • b=

解説

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

設問2

連続したn語(n≧1)を16×nビットのビット列とみなす。副プログラム REVRS を利用して,このビット列のビットの並びを,図2に示すように逆転する 副プログラム LREVRS を作成した。
pm12_3.gif
 主プログラムから渡されるレジスタの内容は,次のとおりとする。
GR1:
ビット列が格納されている領域の先頭アドレス
GR2:
n
 副プログラム LREVRS 中の に入れる正しい答えを,解答群の中から選べ。
pm12_4.gif
c,d に関する解答群
  • JMI  LOOP1
  • JNZ  LOOP1
  • JNZ  LOOP2
  • JPL  LOOP1
  • JZE  FIN3
  • JZE  LOOP2
解答選択欄
  • c:
  • d:
  • c=
  • d=

解説

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

設問3

副プログラム REVRS を使用して,16ビット(1語)からなるビット列中の部分ビット列αのビットの並びを,図3に示すように逆転する副プログラム PREVRS を作成した。p,qは,それぞれ部分ビット列の直前までのビット数及び部分ビット列のビット数を表す。
 ここで,p ≧0,q >1,p+q≦16とする。
pm12_5.gif
 主プログラムから渡されるレジスタの内容は,次のとおりとする。
GR1:
ビット列が格納されている語のアドレス
GR2:
p
GR3:
q
 副プログラム PREVRS 中の に入れる正しい答えを,解答群の中から選べ。
pm12_6.gif
e,f に関する解答群
  • OR   GR6,GR5
  • OR   GR6,0,GR1
  • SLL  GR5,0,GR6
  • SLL  GR5,0,GR3
解答選択欄
  • e:
  • f:
  • e=
  • f=

解説

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

Pagetop