平成22年秋期試験午後問題 問12
問12 ソフトウェア開発(アセンブラ)
次のアセンブラプログラムの説明及びプログラムを読んで,設問1~3に答えよ。
〔プログラムの説明〕
16ビット(1語)からなるビット列のビットの並びを,図1に示すように逆転する副プログラム REVRS である。
〔プログラムの説明〕
16ビット(1語)からなるビット列のビットの並びを,図1に示すように逆転する副プログラム REVRS である。
- ビット列を格納している語のアドレスは GR1 に設定されて,主プログラムから渡される。
- 結果は元の領域に格納して,主プログラムに返す。
- 副プログラムから戻るとき,汎用レジスタ GR1~GR7 の内容は元に戻す。
広告
設問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 を作成した。 主プログラムから渡されるレジスタの内容は,次のとおりとする。
- GR1:
- ビット列が格納されている領域の先頭アドレス
- GR2:
- n
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とする。 主プログラムから渡されるレジスタの内容は,次のとおりとする。
ここで,p ≧0,q >1,p+q≦16とする。 主プログラムから渡されるレジスタの内容は,次のとおりとする。
- GR1:
- ビット列が格納されている語のアドレス
- GR2:
- p
- GR3:
- q
e,f に関する解答群
- OR GR6,GR5
- OR GR6,0,GR1
- SLL GR5,0,GR6
- SLL GR5,0,GR3
解答選択欄
- e:
- f:
- e=ウ
- f=ア
解説
この設問の解説はまだありません。広告