muta...@gmail.com
2021-05-02 05:21:34 UTC
I have discovered that PDPCLIB-based programs that
use floating point have the following behavior:
On Freedos, they cause a hang.
On PDOS/386 they give incorrect results on the first
run, then correct result on the second run.
On HX under Freedos, they cause an exception, which
HX traps, does an FNINIT, and then on the next
invocation the application works fine.
Am I correct in believing that what I need to do for
both 8086 and 80386 is to unconditionally execute
the FNINIT instruction at PDPCLIB startup, because
no-one else is responsible for doing this.
Note that I expect people to have a floating point
coprocessor and I am not interested in floating
point emulation nor trapping exceptions. Not in
PDPCLIB, anyway. I don't mind if PDOS is enhanced
to trap exceptions and ignore them, or invoke
floating point emulation.
Thanks. Paul.
use floating point have the following behavior:
On Freedos, they cause a hang.
On PDOS/386 they give incorrect results on the first
run, then correct result on the second run.
On HX under Freedos, they cause an exception, which
HX traps, does an FNINIT, and then on the next
invocation the application works fine.
Am I correct in believing that what I need to do for
both 8086 and 80386 is to unconditionally execute
the FNINIT instruction at PDPCLIB startup, because
no-one else is responsible for doing this.
Note that I expect people to have a floating point
coprocessor and I am not interested in floating
point emulation nor trapping exceptions. Not in
PDPCLIB, anyway. I don't mind if PDOS is enhanced
to trap exceptions and ignore them, or invoke
floating point emulation.
Thanks. Paul.