beautypg.com

Intel 253666-024US User Manual

Page 442

background image

3-396 Vol. 2A

FSTSW/FNSTSW—Store x87 FPU Status Word

INSTRUCTION SET REFERENCE, A-M

IA-32 Architecture Compatibility

When operating a Pentium or Intel486 processor in MS-DOS compatibility mode, it is
possible (under unusual circumstances) for an FNSTSW instruction to be interrupted
prior to being executed to handle a pending FPU exception. See the section titled
“No-Wait FPU Instructions Can Get FPU Interrupt in Window” in Appendix D of the
Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1, for a
description of these circumstances. An FNSTSW instruction cannot be interrupted in
this way on a Pentium 4, Intel Xeon, or P6 family processor.

Operation

DEST ← FPUStatusWord;

FPU Flags Affected

The C0, C1, C2, and C3 are undefined.

Floating-Point Exceptions

None.

Protected Mode Exceptions

#GP(0)

If the destination is located in a non-writable segment.
If a memory operand effective address is outside the CS, DS,

ES, FS, or GS segment limit.

If the DS, ES, FS, or GS register is used to access memory and it

contains a NULL segment selector.

#SS(0)

If a memory operand effective address is outside the SS

segment limit.

#NM

CR0.EM[bit 2] or CR0.TS[bit 3] = 1.

#PF(fault-code)

If a page fault occurs.

#AC(0)

If alignment checking is enabled and an unaligned memory

reference is made while the current privilege level is 3.

#UD

If the LOCK prefix is used.

Real-Address Mode Exceptions

#GP

If a memory operand effective address is outside the CS, DS,

ES, FS, or GS segment limit.

#SS

If a memory operand effective address is outside the SS

segment limit.

#NM

CR0.EM[bit 2] or CR0.TS[bit 3] = 1.