平成23年特別試験午後問題 問12
問12 ソフトウェア開発(アセンブラ)
次のアセンブラプログラムの説明及びプログラムを読んで,設問1~3に答えよ。
〔プログラム1の説明〕
連続する16語に格納した16×16ドットの白黒の図形を,時計回りに90度回転する副プログラム ROTATE である。図形の回転の実行例を図1に示す。このとき,1ドットを1ビットで表し,白は0,黒は1が格納されている。
〔プログラム1の説明〕
連続する16語に格納した16×16ドットの白黒の図形を,時計回りに90度回転する副プログラム ROTATE である。図形の回転の実行例を図1に示す。このとき,1ドットを1ビットで表し,白は0,黒は1が格納されている。
- 図形を表す16語の先頭アドレスは GR1 に設定されて,主プログラムから渡される。
- 回転した結果の図形を格納する領域の先頭アドレスは GR2 に設定されて, 主プログラムから渡される。
- 元の図形と回転した図形は,異なる領域に格納される。
- 副プログラムから戻るとき,汎用レジスタ GR1 ~ GR7 の内容は元に戻す。
広告
設問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
SRL GR6,1
解答群
解答選択欄
- ウ
解説
この設問の解説はまだありません。設問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の に入れる正しい答えを,解答群の中から選べ。
値n(1≦n≦16)は GR3 に設定されて主プログラムから渡される。
置換え後のプログラムは,まず,回転の対象とならないドット(元の図形の上n語の右(16-n)ビットと下(16-n)語の全ビット)を結果の領域の適切な場所に複写する。その後,左上のn×nドットの部分を回転して結果の領域に格納する。
プログラム2の に入れる正しい答えを,解答群の中から選べ。
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=ア
解説
この設問の解説はまだありません。広告