見よう見まねで試行錯誤しながらABORT信号を生成する論理を変更してみたところ、
- ABORTがアサートされている期間が延びて短いパルスはなくなった
- 2.11BSDのbootプログラムのbus errorのトラップ処理が期待通りに動作した
という結果になりました。ただし、ABORT信号がネゲートされるタイミングに不審な点があるので実装の見直しが必要です。
実装を練り直してリグレッションテストが成功したら変更内容は公開します。
誤動作の原因の二つ目が判明しました。 符号なし2進数と符号付2進数の比較 後述するSOFUB_MAPの実装に符号なし2進数と符号付2進数を比較しているコードがありました。直接の比較ではありませんでしたが、符号なし整数の値を符号付整数の変数に代入し、その変数と定数を比較していたため...
0 件のコメント:
コメントを投稿