平成19年 春期 基本情報技術者 午後 問13
問13 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラムの説明〕 メモリプールの管理を行う副プログラム MPMGR である。 MPMGR は,割当て要求に対して,要素領域中の未使用の1要素を割り当てる。 また,返却要求に対して,指定された1要素を未使用の状態にする。 (1) メモリプールは,要素領域と,それを管理する管理領域からなる。 要素領域は連続する 80 要素からなり,各要素は連続する2語からなる。 各要素には,管理領域の1ビットずつが先頭から順に対応する。 管理領域のビットの値が1のとき,対応する要素領域の要素は使用中とし, 管理領域のビットの値が0のとき,対応する要素領域の要素は未使用とする。
(2) MPMGR は,GR1 に設定された値によって,次の処理を行う。 括弧内は各処理に対応したラベルである。
0: 初期化(MINI) 1: 要素の割当て(MSER) GR0 に設定されたアドレスに対応する要素を未使用に設定する。 (3) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。
〔プログラム〕 MPMGR START RPUSH LD GR1,LTBL,GR1 ; 指定された処理への分岐 ; 初期化 MINI LAD GR3,0 LD GR0,GR3 LP ST GR0,MFRG,GR3 LAD GR3,1,GR3 CPA GR3,MFSZ JNZ LP JUMP FIN ; 要素の割当て MSER LAD GR2,0 LD GR0,=-1 ; 戻り値の初期設定 LP1 LD GR7,MFRG,GR2 ; 管理領域から1語取出し LAD GR3,-1 ; 1語内ビット位置カウンタ初期化 LP2 LAD GR3,1,GR3 CPA GR3,=16 ; 1語分のチェック終了か? JZE CONT SLL GR7,1 JUMP FIND CONT LAD GR2,1,GR2 CPA GR2,MFSZ ; 管理領域全体のチェック完了か? JZE FIN JUMP LP1 FIND LD GR1,=#8000 ; マスクパターンの生成 SRL GR1,0,GR3 LD GR7,MFRG,GR2 ; 対象ビットを含む語の取出し ST GR7,MFRG,GR2 SLL GR2,4 ADDL GR2,GR3 ; 管理領域先頭から通しのビット位置 SLL GR2,1 ; 要素領域先頭からの差分 LAD GR0,MPDT,GR2 JUMP FIN ; 要素の返却 MREL LD GR2,GR0 ; GR2 ← 返却対象アドレス LAD GR7,MPDT SUBL GR2,GR7 ; 要素領域先頭からの差分 SRL GR2,1 ; 先頭から通しの要素位置 LD GR4,GR2 ; 管理領域先頭から通しのビット位置 AND GR4,=#000F ; 1語内でのビット位置 LD GR1,=#8000 ; マスクパターンの生成 SRL GR1,0,GR4 ; 例: GR4=2 の場合,GR1 ← 0010000000000000 SRL GR2,4 ; 対象ビットを含む語を指すための差分 LD GR7,MFRG,GR2 AND GR7,GR1 ; 対象ビットを未使用に設定 ST GR7,MFRG,GR2 FIN RPOP RET MFSZ DC 5 ; 管理領域の大きさ MFRG DS 5 ; 管理領域 MPDT DS 160 ; 要素領域 LTBL DC MINI ; 分岐ラベル表 DC MSER DC MREL END 設問1 プログラム中の に入れる正しい答えを, 解答群の中から選べ。
a に関する解答群 ア CALL 0,GR1 イ CALL 1,GR1 ウ CALL LTBL,GR1 エ JUMP 0,GR1 オ JUMP 1,GR1 カ JUMP LTBL,GR1 b に関する解答群 ア JMI LP1 イ JMI LP2 ウ JNZ LP1 エ JNZ LP2 オ JOV LP1 カ JOV LP2 c に関する解答群 ア AND GR7,GR1 イ OR GR7,GR1 ウ SLL GR7,0,GR1 エ SLL GR7,0,GR3 オ SRL GR7,0,GR1 カ SRL GR7,0,GR3 d に関する解答群 ア AND GR1,=#8000 イ AND GR1,=#FFFF ウ OR GR1,=#8000 エ OR GR1,=#FFFF オ XOR GR1,=#8000 カ XOR GR1,=#FFFF
設問2 管理領域の最初の語の値が #C800 のとき,GR1 に1を設定して MPMGR を 呼び出した。 ラベル FIND に制御が移ったときの GR3 の内容として,正しい答えを解答群の中から選べ。
解答群 ア 0 イ 1 ウ 2 エ 3 オ 4 カ 5
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|