x86 Instruction Set Reference


Absolute Value

Opcode Mnemonic Description
D9 E1 FABS Replace ST with its absolute value.

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.

Results Obtained from FABS
ST(0) SourceST(0) Destination
NOTE: F Means finite floating-point value.
ST(0) = GetAbsoluteValue(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