問題

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

〔プログラムの説明〕
 連続したn語を16×nビットのビット列とみなし、ビット列Aとする。ビット列Aの(p+1)ビット目からのqビットを、別のqビットのビット列Bで置き換える副プログラムREPLACEである。置換えの概要を図1に示す。
 ここで、p≧0、1≦q≦16、p+q≦16×nとする。

(1)ビット列Aの先頭アドレスは、GR1に設定されて主プログラムから渡される。
(2)ビット列BはGR0に左詰めで設定され、GR0の残りの部分は0で埋められて主プログラムから渡される。ビット列BとGR0の関係を図2に示す。

(3)値pは GR2 に、値qはGR3に設定されて主プログラムから渡される。
(4)副プログラムから戻るとき、汎用レジスタGR1~GR7の内容は元に戻す。