
276
Chapter 5: 64-Bit Media Programming
AMD 64-Bit Technology
24593—Rev. 3.09—September 2003
Coprocessor-Segment-Overrun Exception (Vector 9)
#TS—Invalid-TSS Exception (Vector 10)
#NP—Segment-Not-Present Exception (Vector 11)
For details on all general-purpose exceptions, see “Exceptions
and Interrupts” in Volume 2.
5.11.2
x87 Floating-
Point Exceptions
(#MF)
The 64-bit media instructions do not generate x87 floating-point
(#MF) exceptions as a consequence of their own computations.
However, an #MF exception can occur during the execution of a
64-bit media instruction, due to a prior x87 floating-point
instruction. Specifically, if an unmasked x87 floating-point
exception is pending at the instruction boundary of the next 64-
bit media instruction, the processor asserts the FERR# output
signal. For details about the x87 floating-point exceptions and
the FERR# output signal, as described in “x87 Floating-Point
Exception Causes” on page 338.
5.12
Actions Taken on Executing 64-Bit Media Instructions
The MMX registers are mapped onto the low 64 bits of the 80-
bit x87 floating-point physical registers, FPR0–FPR7, described
in “Registers” on page 287. The MMX instructions do not use
the x87 stack-addressing mechanism. However, 64-bit media
instructions write certain values in the x87 top-of-stack pointer,
tag bits, and high bits of the FPR0–FPR7 data registers.
Specifically, the processor performs the following x87-related
actions atomically with the execution of 64-bit media
instructions:
Top-Of-Stack Pointer (TOP)
—The processor clears the x87 top-
of-stack pointer (bits 13–11 in the x87 status word register)
to all 0s during the execution of every 64-bit media
instruction, causing it to point to the
mmx0
register.
Tag Bits
—During the execution of every 64-bit media
instruction, except the EMMS and FEMMS instructions, the
processor changes the tag state for all eight MMX registers
to
full
, as described below. In the case of EMMS and
FEMMS, the processor changes the tag state for all eight
MMX registers to
empty
, thus initializing the stack for an x87
floating-point procedure.
Bits 79–64
—During the execution of every 64-bit media
instruction that writes a result to an MMX register, the