平成27年 秋期 基本情報技術者 午後 問12
問12 CASL
次のアセンブラプログラムの説明及びプログラムを読んで,設問1〜3に答えよ。
〔プログラム1の説明〕
副プログラム BITINS は,図1に示すように,ビット列 A(長さ 16 ビット)を
ビット列 B(長さ 16 ビット)の指定された位置に挿入し,ビット列 C(長さ 32 ビット)を作成する。
図1中の n( 0 ≦ n ≦ 16)は,挿入位置(先頭からのビット数)を表す。

図1 ビット列の挿入
(1) GRØ 〜 GR3 には,それぞれ次の内容が設定されて,主プログラムから渡される。
CRØ:ビット列 A
GR1:ビット列 B が格納されている領域のアドレス
GR2: n
GR3:ビット列 C を格納する2語の領域の先頭アドレス
(2) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。
〔プログラム1〕
(行番号)
1 BITINS START
2 RPUSH
3 LD GR6,=
4 SUBA GR6,GR2 ; GR6 ← シフト数
5 LD GR1,Ø,GR1 ; GR1 ← ビット列 B
6 LD GR4,GR1 ; GR4 ← ビット列 B
7 LD GR5,GRØ ; GR5 ← ビット列 A
8 SRL GR1,Ø,GR6
9 SLL GR1,Ø,GR6 ; GR1 ← ビット列 B の左 n ビット
1Ø SLL GR4,Ø,GR2
11 SRL GR4,Ø,GR2 ; GR4 ← ビット列 B の右(16-n)ビット
12
13 SLL GR5,Ø,GR6
14 OR GR1,GRØ
15 OR GR4,GR5
16 ST GR1,Ø,GR3
17 ST GR4,1,GR3
18 RPOP
19 RET
2Ø END
設問1 プログラム1中の に入れる正しい答えを,
解答群の中から選べ。
a に関する解答群
ア Ø イ 8 ウ 16 エ 32
b に関する解答群
ア SLL GRØ,Ø,GR2 イ SLL GRØ,Ø,GR6 ウ SRL GRØ,Ø,GR2
エ SRL GRØ,Ø,GR6
ウ
ウ
設問2 次の記述中の に入れる正しい答えを,
解答群の中から選べ。
主プログラムから渡された n が 10 で,ビット列 A とビット列 B が図2のとき,
行番号 15 の OR 命令実行直前の GR4 の内容は であり,
GR5 の内容は である。

図2 主プログラムから渡されたビット列 A とビット列 B
解答群
ア 0000 0000 0001 0111 イ 0000 0000 0001 1000
ウ 0000 0010 1001 0110 エ 0000 0011 1011 1100
オ 0101 1100 0000 0000 カ 0110 0000 0000 0000
キ 1010 0101 1000 0000 ク 1110 1111 0000 0000
イ
キ
設問3 |
連続する N 語を 16 × N ビットから成るビット列 Y とする。
図3に示すように,ビット列 X(長さ 16 ビット)をビット列 Y の指定された位置に挿入し,
N +1語のビット列 Z を作成する副プログラム BITINSL を,副プログラム BITINS を
使って作成した。図3中の m( 0 ≦ m ≦ 16 × N )は,
挿入位置(先頭からのビット数)を表す。
プログラム2中の に入れる正しい答えを,解答群の中から選べ。
|

図3 N 語から成るビット列への挿入
(1) GRØ 〜 GR4 には,それぞれ次の内容が設定されて,主プログラムから渡される。
GRØ:ビット列 X
GR1:ビット列 Y が格納されている領域の先頭アドレス
GR2:m
GR3:ビット列 Z を格納する N+1語の領域の先頭アドレス
GR4:N
(2) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。
〔プログラム2〕
BITINSL START
RPUSH
LOOP1 CPA GR2,=17
CALL COPY ; ビット列 Y の先頭から挿入位置の直前の
SUBA GR2,=16 ; 語までを結果の領域ヘコピー
JUMP LOOP1
INS CALL BITINS
LAD GR1,1,GR1
LAD GR3,2,GR3
SUBA GR4,=1
LOOP2 CALL COPY ; ビット列 Y の残りの部分を
JNZ LOOP2 ; 結果の領域ヘコピー
FIN RPOP
RET
; ビット列 Y の1語を結果の領域ヘコピー
LD GR5,Ø,GR1
ST GR5,Ø,GR3
LAD GR1,1,GR1
LAD GR3,1,GR3
SUBA GR4,=1
RET
END
解答群
ア JMI FIN イ JMI INS ウ JPL FIN
エ JPL INS オ JZE FIN カ JZE INS
イ
オ
[←前の問題]
[次の問題→]
[問題一覧表]
[分野別]
[基本情報技術者試験TOP
]
©2004-2024 情報処理試験.jp
|
|
|