FABS
Absolute Value
stableVMJITAOTinstruction
Encodings
| Opcode | Instruction | Op/En | 64-bit | Compat/Legacy | Description |
|---|---|---|---|---|---|
D9 E1 | FABS | Valid | Valid | Replace ST with its absolute value. |
Measured cost
Loading measurements from arch-data...
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.
ST(0) SRC Table 3-19. Results Obtained from FABSST(0) DEST -
-F +
-0 +F
+0 +0
+F +0+F +
NaN +NOTES: NaN F Means finite floating-point value.
This instruction's operation is the same in non-64-bit modes and 64-bit mode.
Operation
ST(0) := |ST(0)|;
FPU Flags Affected
C1 Set to 0.
C0, C2, C3 Undefined.Floating-Point Exceptions
#IS Stack underflow occurred.Exceptions
Protected mode
#NM | CR0.EM[bit 2] or CR0.TS[bit 3] = 1. |
#UD | If the LOCK prefix is used. |
Real address mode
| Same exceptions as in protected mode. |
Virtual-8086 mode
| Same exceptions as in protected mode. |
Compatibility mode
| Same exceptions as in protected mode. |
64-bit mode
| Same exceptions as in protected mode. |