NASM 2.05 based x86 Instruction Reference[ch130]
A.5.110 FXCH: Floating-Point Exchange FXCH ; D9 C9 [8086,FPU] FXCH fpureg ; D9 C8+r [8086,FPU] FXCH fpureg,ST0 ; D9 C8+r [8086,FPU] FXCH ST0,fpureg ; D9 C8+r [8086,FPU] FXCH exchanges ST0 with a given FPU register. The no-operand form exchanges ST0 with ST1.