Microsoft KB Archive/93353

= 80x87 Floating Point Emulation Under Windows NT =

Article ID: 93353

Article Last Modified on 10/31/2006

-

APPLIES TO


 * Microsoft Windows NT Advanced 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.

Additional query words: prodnt

Keywords: kbhardware KB93353

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.