Volume 4: Base IA-32 Instruction Reference
4:195
FXCH—Exchange Register Contents
Description
Exchanges the contents of registers ST(0) and ST(
i
). If no source operand is specified,
the contents of ST(0) and ST(1) are exchanged.
This instruction provides a simple means of moving values in the FPU register stack to
the top of the stack [ST(0)], so that they can be operated on by those floating-point
instructions that can only operate on values in ST(0). For example, the following
instruction sequence takes the square root of the third register from the top of the
register stack:
FXCH ST(3);
FSQRT;
FXCH ST(3);
Operation
IF number-of-operands is 1
THEN
temp
ST(0);
ST(0)
SRC;
SRC
temp;
ELSE
temp
ST(0);
ST(0)
ST(1);
ST(1)
temp;
FI;
FPU Flags Affected
C1
Set to 0 if stack underflow occurred; otherwise, cleared to 0.
C0, C2, C3
Undefined.
Floating-point Exceptions
#IS
Stack underflow occurred.
Additional Itanium System Environment Exceptions
Itanium Reg Faults Disabled FP Register Fault if PSR.dfl is 1, NaT Register Consumption
Abort.
Protected Mode Exceptions
#NM
EM or TS in CR0 is set.
Opcode
Instruction
Description
D9 C8+i
FXCH ST(i)
Exchange the contents of ST(0) and ST(
i
)
D9 C9
FXCH
Exchange the contents of ST(0) and ST(1)
Summary of Contents for ITANIUM ARCHITECTURE
Page 1: ......
Page 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Page 604: ......