CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

NDPテスト

 
80287NDPのテストのため、簡単なプログラムをロードしてみます。
 
 
イメージ 1
 
2の平方根を計算して出力するだけで、結果は以下のように一見正常に動作しているように見えます。
 
イメージ 2
 
ところが、これは実はダメなのです。
 
FPU=0と表示されているように「_8087」というグローバル変数に0がセットされているようです
この変数はLSIC-86のスタートアップルーチンに含まれる80x87の存在チェックでセットされるので
この時点では80287が認識されていないということです
 
_8087が0(認識できない)の場合は自動的にソフトウェアエミュレーションに切替えて計算されるので
答えは出ていますが、NDP回りを見直さなければなりません