fabs
Absolute Value
FABS
Replaces ST(0) with its absolute value.
Pseudocode Operation
ST(0) ← |ST(0)|;
Encoding
Binary Layout
D9
+0
E1
+1
Operands
Related
More in x87 FPU
Reference
Instruction Forms
| Opcode | Instruction | Op/En | 64/32-bit Mode | CPUID | Description |
|---|---|---|---|---|---|
| D9 E1 | FABS | Valid Valid | Replace ST with its absolute value. |
Description
Clears the sign bit of ST(0) to create the absolute value of the operand. The following table shows the results obtained when creating the absolute value of various classes of numbers.
Table 3-19. Results Obtained from FABS
ST(0) SRC ST(0) DEST
- ∞ + ∞ - F + F - 0 + 0 + 0 + 0 + F + F
+ ∞ + ∞
NaN NaN
Operation
ST(0) := |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.
64-Bit Mode Exceptions
Same exceptions as in protected mode.
FABS-Absolute Value Vol. 2A 3-309
FABS-Absolute Value Vol. 2A 3-310