x86 Instruction Set Reference

FCHS

Change Sign

Opcode Mnemonic Description
D9 E0 FCHS Complements sign of ST(0)
Description

Complements the sign bit of ST(0). This operation changes a positive value into a negative value of equal magnitude or vice versa. The following table shows the results obtained when changing the sign of various classes of numbers.

FCHS Results
ST(0) SourceST(0) Destination
-inf+inf
-F+F
-0+0
+0-0
+F-F
+inf-inf
NaNNaN
NOTE: F Means finite floating-point value.
Operation
SignBit(ST(0)) = ~SignBit(ST(0));
FPU flags affected

C1 Set to 0 if stack underflow occurred; otherwise, set to 0. C0, C2, C3 Undefined.

Floating-Point Exceptions
#ISStack underflow occurred.
Protected Mode Exceptions
#NMEM or TS in CR0 is set.
Real-Address Mode Exceptions
#NMEM or TS in CR0 is set.
Virtual-8086 Mode Exceptions
#NMEM or TS in CR0 is set.
Instruction Latency Throughput Execution Unit
CPUID0F3n/0F2n0F3n/0F2n0F2n
FCHS3/21/1FP_MISC