fchs
Change Sign
FCHS
Reverses the sign of ST(0).
Pseudocode Operation
ST(0) ← -ST(0)
Encoding
Binary Layout
D9
+0
E0
+1
Operands
Related
More in x87 FPU
Reference
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