fchs

Change Sign

FCHS

Reverses the sign of ST(0).

Pseudocode Operation

ST(0) ← -ST(0)

Encoding

Binary Layout
D9
+0
E0
+1
 
Format Legacy
Opcode D9 E0
Extension x87 FPU

Operands

Related

More in x87 FPU

Instruction Forms

Opcode Instruction Op/En 64/32-bit Mode CPUID Description
D9 E0 FCHS Valid Valid 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. Table 3-22. FCHS Results

ST(0) SRC ST(0) DEST

- ∞                                               + ∞
- F                                                + F
- 0                                               + 0
+ 0                                               - 0
+ F                                                - F

+ ∞ - ∞

NaN NaN

Operation

SignBit(ST(0)) := NOT (SignBit(ST(0)));

Exceptions

Protected Mode Exceptions

#NM CR0.EM[bit 2] or CR0.TS[bit 3] = 1. #UD If the LOCK prefix is used.

Real-Address Mode Exceptions

Same exceptions as in protected mode.

Virtual-8086 Mode Exceptions

Same exceptions as in protected mode.

Compatibility Mode Exceptions

Same exceptions as in protected mode. FCHS-Change Sign Vol. 2A 3-318

64-Bit Mode Exceptions

Same exceptions as in protected mode. FCHS-Change Sign Vol. 2A 3-319