平成19年 秋期 基本情報技術者 午後 問09
問09 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。 〔プログラムの説明〕 連続する N 語のブロックに格納されている各語にパリティビットを設定するとともに, ブロックの直後に1語の水平パリティを設定する副プログラム SETPAR である。 (1) 各語のビット番号 15 (図の破線で囲まれた左端ビット)をパリティビットとして使用する。 パリティビットの値は偶数パリティとし,各語のビット番号 0 〜 14 中の1であるビットの 個数が奇数のときは1,偶数のときは0とする。 水平パリティの各ビットの値も偶数パリティとし,各語の対応するビット番号中の1で あるビットの個数が奇数のときは1,偶数のときは0とする。つまり,図の網掛け部分において, 1であるビットの個数が偶数となるように,水平パリティ中のビットを設定する。
図 パリティビットと水平パリティ (2) 主プログラムは,ブロックの語数 N を GR1 に,ブロックの開始アドレスを GR2に設定し,ブロックの各語のパリティビットに0を格納して副プログラム SETPAR を呼ぶ。 (3) 副プログラムから戻るとき,汎用レジスタ GR1 〜 GR7 の内容は元に戻す。
〔プログラム〕
1 SETPAR START 2 RPUSH 3 LD GR6,GR2 4 ADDL GR6,GR1 5 LAD GR4,0 ; 水平パリティ初期化 6 LP1 LD GR1,0,GR2 ; ブロックから1語取出し 7 LAD GR7,0 8 LP2 SLL GR1,1 9 JZE CONT 10 11 XOR GR7,=#8000 ; パリティビット調整 12 JUMP LP2 13 CONT OR GR7,0,GR2 14 ST GR7,0,GR2 ; パリティビット設定 15 ; 水平パリティ調整 16 LAD GR2,1,GR2 17 CPL GR2,GR6 ; ブロックの終端? 18 JNZ LP1 19 ST GR4,0,GR6 ; 水平パリティ設定 20 RPOP 21 RET 22 END設問1 プログラム中の に入れる正しい答えを,解答群の中から選べ。 a に関する解答群 エ JOV LP2 オ JPL CONT カ JPL LP2 b に関する解答群 ウ OR GR7,0,GR6 エ OR GR7,GR4 オ XOR GR4,0,GR6 力 XOR GR4,GR7 キ XOR GR7,0,GR6 ク XOR GR7,GR4
設問2 パリティビットの値として,各語のビット番号0〜 14 中の1であるビットの 個数が奇数のときは0を,偶数のときは1を設定するようにプログラムを変更する。 これは,プログラム中の行番号7で GR7 に設定する値を変更すれば可能である。 GR7 に設定する値として正しい答えを,解答群の中から選べ。 解答群 エ #8001 オ #FFFE カ #FFFF [←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|