x86 Instruction Set Reference


Change Sign

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

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
NOTE: F Means finite floating-point value.
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