平成21年度秋季 基本情報技術者試験(FE)の午後問題12(アセンブラ言語CASL)は、
- ビット列Aの特定のビット位置(p+1)からのqビットをビット列Bのqビットに置き換える副プログラムREPLACE
に関する問題でした。
ポイント
- 空欄aに関する「AND GR2,=#000F」が55を16で割った余りであること
- 12〜17行目の間にシフト命令が何個も出てきますが、12行目のSRAでは、符号ビットが1の場合、シフトによってできたスペースには1が入ること
に注意をする必要があると思います。
プログラム例
設問1の値でシミュレーションできるようにプログラムを作成してみました。ビット列Aは6語とも#FFFFが格納されています。
実行結果
作成したプログラムを「CASLシミュレータ(CASL II 対応)」で実行してみました。#000B番地からのビット列Aのうち第4,5語目がビット列Bによって置換えられています。