モニタのFPU対応
カテゴリー:
NS32081を追加してみたで書いたように、マンデルブロのデバッグ中に必要に迫られてモニタのFPU対応を書き始めたわけですが、一段落したのでここで簡単にまとめておきたいと思います。
トラップとダンプ
最初は当面のデバッグに必要な、トラップが発生したらレジスタを保存し、その内容をダンプする、機能を作りました。
NS32000ファミリはFPUのレジスタを直接メモリに書き込む命令が存在するので保存は簡単です。CPUのレジスタを保存した後にFPUレジスタも保存します。
ダンプも16進で表示するだけなら特に難しいことはありません。NS32081にはステータスのFSRレジスタの他に単精度の浮動小数点数を格納できる32ビットのレジスタがF0~F7の8本あります。これはF0とF1を連結して倍精度の64ビットのL0として使用することもでき、同様にL2, L4, L6と合計4本の64ビットレジスタとしても使用可能です。ダンプ時はF0~F7として表示します。