[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00583] Re: double/float



ふるいちです。

Hirotaka OHKUBO wrote:

> おおくぼです。
>
>
> 簡易マニュアルの appendix/turboc.html の
>   -f      浮動小数演算をエミュレートします(デフォルト)
>   -f87    浮動小数演算に8087命令を使用します
> の「エミュレート」って凄く気になるんですけど、これだと 87 命令をオブジェ
> クトコードに混入させてしまった後で、未定義命令例外で 87 のするはずの計
> 算を CPU がやるみたいですけど、そうでなくて、単に 86 のコードで書かれた
> 演算ライブラリを呼ぶようにする、ってことですよね。
>

emu.libを使うのであればスタートアップにも手を入れなくてはいけないでしょうね。
もし-fで87の例外処理(FPO:ベクタ7)でないコードを吐いてくれるなら必要ないのか
も...
以前V25というCPUの開発にTurboを使っていたときはFPOの例外処理をフックしてかわし
ました。
もしフックする必要がなければ使えるかもしれません。
残念ながら今Witchの環境がないので確かめることができません。

>
> # -S でアセンブラソースを見れ、って言われてしまうかしら。
>

これで見てみることにしましょう。

>
> > Divide by zeroのハンドラも要りますね。
>
> これはその通りですね。ほっとくと FreyaOS はどう対処するんだろ。
>

おそらくOS内でインストールされているのでしょう。
DOSであればDivide by zeroのメッセージを出してアプリ終了ですが...

> > tasmって付属していませんでしたっけ...
>
> いいえ。それは BC55 ユーザもよく突き当たるらしい FAQ です。
> LSI-C の r86 もいいですが、MASM 使えばいいでしょう。
> TC の -S オプションで出力したアセンブラソースを処理できます。
> これで asm {} も使えるようになります。
>

masmがダウンロードできるとは知らなかった...
じゃこれでスタートアップも作れますね。

--
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 ふるいちひろあき
 mailto:touch@sanmedia.or.jp
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-




ML Archives