LSIC-86は元々が組込み用途なのか浮動小数点演算はちょっと苦手なようで
8087コードもエミュレーションもかなり遅く感じます。
アセンブラ出力を見ても演算1行ごとにライブラリをコールしていて生成効率が悪そうです。
80286でやったように処理系をMicroSoftC/C++6.0Aへ移行します。メモリマップを指定し、CODEとDATAの配置セグメントをコンフィグレーションファイルに与えるだけ
これで8087有り状態で実行。約260msでLSIC-86から5倍も速くなっています。
やっと8087の真の実力が引き出せました。
ではMSC/C++でのソフトエミュレーションはどうかというと/FPc87オプションでエミュレーションコードを含むライブラリがリンクされるのですが、内部で8087検出を自動でやっていて外部からいじれないようでした。
(DOS環境下ならNO87という環境変数を見るらしいですが)
つまり8087を引っこ抜かないとエミュレーションが選択されないので、それはまたの機会でやってみます。
MSC/C++5.1のマニュアルによると8087はエミュレーションの20~25倍の速度になるようです