平成17年 春期 基本情報技術者 午後 問09
問09 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラムの説明〕 ある商店の在庫状況を記録した在庫表から,商品番号をキーとして, 商品の在庫量を2分探索法で検索する副プログラム BSEARCH である。 (1) 在庫表は,先頭に扱い商品数 N,その後ろに商品番号とその商品の在庫量の 対を商品番号順(昇順)に格納したものである。 扱い商品数,商品番号,在庫量は,それぞれ 0 以上の整数値で1語に格納されている。
在庫表の様式
(2) 主プログラムは,商品番号(検索キー)を GR1 に,在庫表の先頭アドレスを GR2 に設定し,BSEARCH を呼ぶ。 (3) BSEARCH は,検索キーに対応する在庫量を GR0 に設定し,主プログラムに戻る。 該当する商品番号が在庫表に存在しない場合は,−1 を GR0 に設定し,主プログラムに戻る。 (4) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。
〔プログラム〕 (行番号) 1 BSEARCH START 2 RPUSH 3 LAD GR3,1 ; 左端標識 LT の初期設定 4 LD GR4,0,GR2 ; 右端標識 RT の初期設定 5 LAD GR2,-1,GR2 ; 表の基底アドレス 6 LAD GR0,-1 ; 戻り値の初期設定 7 SLOOP CPL GR3,GR4 ; LT > RT ? 8 JPL EXIT 9 LD GR5,GR3 ; LT,RTの中央の位置 MID の計算 10 ADDL GR5,GR4 ; ” 11 ; ” 12 LD GR6,GR5 ; 商品番号 [MID] のアドレス計算 13 SLL GR6,1 ; ” 14 ADDL GR6,GR2 ; ” 15 CPL GR1,0,GR6 ; KEY = 商品番号[MID] ? 16 JZE FIND 17 18 LAD GR3,1,GR5 ; MID+1 → LT 19 JUMP SLOOP 20 RTSET LAD GR4,-1,GR5 ; MID-1 → RT 21 JUMP SLOOP 22 FIND LD GR0,1,GR6 23 EXIT RPOP 24 RET 25 END
設問1 プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群 ア LAD GR5,1,GR5 イ LAD GR5,2,GR5 ウ SLL GR5,1 エ SLL GR5,2 オ SRL GR5,1 b に関する解答群 ア JMI RTSET イ JMI SLOOP ウ JPL RTSET エ JPL SLOOP オ LAD GR2,1,GR2 カ LD GR5,GR6
設問2 GR1 と GR2 を次のように設定して副プログラム BSEARCH を 呼び出したとき,行番号 20 の命令は何回実行されるか,正しい答えを,解答群の中から選べ。
解答群 ア 0 イ 1 ウ 2 エ 3 オ 4 カ 7 キ 8 [←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||