![]()
平成29年 秋期 基本情報技術者 午後 問12
問12 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1〜4に答えよ。 〔プログラム1の説明〕 連続する 2 語から成るビット列αの中から,別のビット列βと一致する部分ビット列を 検索する副プログラム BSRH である。部分ビット列の検索の概要を,図1に示す。
![]() 図1 部分ビット列の検索の概要 (1) 主プログラムは,αが格納されている領域の先頭アドレスを GR1 に, βを GR2 に,βの長さ n( 1 ≦ n ≦ 16)を GR3 に設定して副プログラム BSRH を呼ぶ。 βは GR2 に左詰めで設定し,残りのビットには 0 を設定する。 (2) 副プログラム BSRH は, αの先頭(ビット位置 0 )からβと照合し, 一致する部分ビット列がある場合は最初に一致する部分ビット列の先頭のビット位置 p を, 一致する部分ビット列がない場合は −1 を,GRØ に設定して主プログラムに戻る。 (3) 副プログラム BSRH から戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム1〕 (行番号)
1 BSRH START 2 RPUSH 3 LD GRØ,=-1 4 LD GR6,=#FFFF ; マスク作成 5 SRL GR6,Ø,GR3 6 XOR GR6,=#FFFF 7 LD GR4,Ø,GR1 ; αの取出し 8 LD GR5,1,GR1 9 LD GR1,=32 ; GR7 ← n 1Ø SUBA GR1,GR3 ; GR1 ← 32 - n 11 LD GR3,GR1 ; GR3 ← 32 - n 12 LP LD GR7,GR4 13 AND GR7,GR6 14 a 15 JZE FOUND ; 一致あり 16 SUBA GR1,=1 17 JMI FIN ; 一致なし 18 SLL GR4,1 ; αを1ビット左シフト 19 SLL GR5,1 2Ø b 21 JUMP LP 22 NEXT OR GR4,=#ØØØ1 23 JUMP LP 24 FOUND SUBA GR3,GR1 ; p の算出 25 LD GRØ,GR3 26 FIN RPOP 27 RET 28 END
a に関する解答群 エ SRL GR7,Ø,GR2 オ XOR GR7,GR2 b に関する解答群 エ JOV NEXT オ JPL FOUND カ JPL NEXT
解答群 エ SRA GR6,Ø,GR3 オ SRL GR6,-1,GR3 カ SRL GR6,Ø,GR3
〔プログラム2〕 (行番号) 1 BREP START 2 RPUSH 3 CALL BSRH 4 LD GR2,CRØ 5 JMI FIN 6 LD GR6,=#FFFF ; マスク作成 7 SRL GR6,Ø,GR3 8 XOR GR6,=#FFFF 9 LD GR7,GR3 1Ø LD GR3,=16 11 SUBA GR3,GR2 ; GR3 ← 16 - p 12 JMI ONL2 ; 一致する部分ビット列が 2 語目だけのとき 13 JZE ONL2 14 CPA GR3,GR7 ; (16 - p)と n の比較 15 JMI NEXT ; 2 語にまたがる処理 16 JUMP ONL1 ; 一致する部分ビット列が 1 語目だけのとき 17 NEXT LD GR5,GR4 ; γとマスクを退避 18 LD GR7,GR6 19 CALL S1 ; 1 語目の処理 2Ø LD GR4,GR5 21 LD GR6,GR7 22 SLL GR4,Ø,GR3 ; 2 語目用γの調整 23 SLL GR6,Ø,GR3 ; 2 語目用マスクの調整 24 LAD GR1,1,GR1 25 CALL S2 ; 2 語目の最終処理 26 JUMP FIN 27 ONL1 CALL S1 28 JUMP FIN 29 ONL2 c 3Ø SUBA GR2,GR3 ; GR2 ← p - 16 31 LAD GR1,1,GR1 ; 操作対象を 2 語目にして, 32 CALL S1 ; 2 語目の処理 33 FIN RPOP 34 RET 35 S1 SRL GR4,Ø,GR2 ; γの調整 36 SRL GR6,Ø,GR2 ; マスクの調整 37 S2 LD GR2,Ø,GR1 ; 操作対象語の取出し 38 XOR GR6,=#FFFF 39 AND GR2,GR6 4Ø d 41 ST GR2,Ø,GR1 42 RET 43 ENDc に関する解答群 エ LD GR2,=32 オ SUBA GR2,GR7 エ SRL GR2,Ø,GR4 オ XOR GR2,=#FFFF
α: 1 語目 #FFF3 2 語目 #7FFF β: (11011)2 n: 5 γ: (11110)2 解答群 コ #CØØØ オ #EØØØ カ #FØØØ [←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||