80x87 Floating Point Emulation Under Windows NT (93353)
The information in this article applies to:
- Microsoft Windows NT Server 3.1
- Microsoft Windows NT Workstation 3.1
This article was previously published under Q93353 SUMMARY
The math emulator provided by the Windows NT kernel is intended to
provide emulation of 80387 floating-point instructions. However, only
ANSI floating-point precision is provided. Long double precision is
not emulated. This is consistent with MIPS (millions of instructions
per second) architecture.
Some other minor differences are known and may remain in the final
version. For example, tests on the 80387 chip revealed that the FSAVE
instruction leaves the Error Offset and Error Selector fields in the
FP environment block null if there are no pending exceptions. The
Windows NT emulator fills these fields with the address of the most
recently emulated instruction, even when no exception is pending. This
behavior may remain because it provides extra information to the
system programmer and because the emulator status word accurately
indicates any pending exceptions.
MORE INFORMATION
The information applies to Win32s as well.
The floating point emulator does not support CS overrides. This does not
effect compiler-generated code, only hand-tuned assembly code. This was
done to improve speed, since applications that were written in C are not
affected.
Modification Type: | Major | Last Reviewed: | 10/30/2003 |
---|
Keywords: | kbHardware KB93353 |
---|
|