Intel 253666-024US User Manual

Page 462

Advertising
background image

3-416 Vol. 2A

FXRSTOR—Restore x87 FPU, MMX , XMM, and MXCSR State

INSTRUCTION SET REFERENCE, A-M

x87 FPU and SIMD Floating-Point Exceptions

None.

Protected Mode Exceptions

#GP(0)

For an illegal memory operand effective address in the CS, DS,

ES, FS or GS segments.

If a memory operand is not aligned on a 16-byte boundary,

regardless of segment. (See alignment check exception [#AC]
below.)

For an attempt to set reserved bits in MXCSR.

#SS(0)

For an illegal address in the SS segment.

#PF(fault-code)

For a page fault.

#NM

If CR0.TS[bit 3] = 1.

#UD

If CR0.EM[bit 2] = 1.
If CPUID.01H:EDX.FXSR[bit 24] = 0.
If instruction is preceded by a LOCK prefix.

#AC

If this exception is disabled a general protection exception

(#GP) is signaled if the memory operand is not aligned on a 16-
byte boundary, as described above. If the alignment check
exception (#AC) is enabled (and the CPL is 3), signaling of #AC
is not guaranteed and may vary with implementation, as
follows. In all implementations where #AC is not signaled, a
general protection exception is signaled in its place. In addition,
the width of the alignment check may also vary with implemen-
tation. For instance, for a given implementation, an alignment
check exception might be signaled for a 2-byte misalignment,
whereas a general protection exception might be signaled for all
other misalignments (4-, 8-, or 16-byte misalignments).

#UD

If the LOCK prefix is used.

Real-Address Mode Exceptions

#GP(0)

If a memory operand is not aligned on a 16-byte boundary,

regardless of segment.

If any part of the operand lies outside the effective address

space from 0 to FFFFH.

For an attempt to set reserved bits in MXCSR.

#NM

If CR0.TS[bit 3] = 1.

#UD

If CR0.EM[bit 2] = 1.
If CPUID.01H:EDX.SSE2[bit 26] = 0.
If the LOCK prefix is used.

Advertising