平成17年 秋期 基本情報技術者 午後 問09
問09 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラム1の説明〕 プログラム1(SFT1)は,マスクを右にシフトしながら1語に格納されているデータの中の 1であるビットの個数を数えて,GR0 に設定する副プログラムである。
図1 プログラム1の処理方法 (1) 主プログラムは,GR1 に対象データを格納して副プログラムを呼ぶ。 (2) 対象データの第 15 ビットから第 0 ビットまでを順にマスクと照合し, 1の個数を数えて,GR0 に設定する。 (3) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。 〔プログラム1〕 SFT1 START RPUSH LD GR2,MASK LAD GR0,0 LOOP LD GR3,GR2 ←α AND GR3,GR1 JZE SKIP ADDA GR0,=1 SKIP SRL GR2,1 RPOP RET MASK DC #8000 END 〔プログラム2の説明〕 プログラム2(SFT2)は,プログラム1と比べて,命令の実行回数が少なくなるように, 対象データを右にシフトしながら常に最下位ビットをマスクと照合し,1の個数を数えて, GR0 に設定する副プログラムである。
図2 プログラム2の処理方法
〔プログラム2〕 SFT2 START RPUSH LAD GR0,0 LOOP LD GR3,GR1 ←β ADDA GR0,GR3 SRL GR1,1 RPOP RET END 設問1 プログラム1,プログラム2中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群 ア JMI LOOP イ JNZ LOOP ウ JUMP LOOP エ JZE LOOP b に関する解答群 ア AND GR3,=#0001 イ OR GR3,=#0001 ウ AND GR3,=#1000 エ OR GR3,=#1000 オ AND GR3,=#FFFF カ OR GR3,=#FFFE
設問2 次の記述中の に入れる正しい答えを, 解答群の中から選べ。
主プログラムが GR1 に #0555 を格納して,プログラム1及びプログラム2を呼んだ場合, プログラム1の命令 α の実行回数よりもプログラム2の命令 β の実行回数の方が 回少なくなる。 プログラム1の命令 α の実行回数とプログラム2の命令 β の実行回数が 等しくなるのは,主プログラムが GR1 に格納したデータのビット番号 のビットの値が のときである。
解答群 ア 0 イ 1 ウ 5 エ 6 オ 7 カ 8 キ 9 ク 10 ケ 14 コ 15
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|