FMUL/FMULP/FIMUL—Multiply (Continued)
SRC
Notes:
Fmeans finite-real number.
Imeans Integer.
*indicates invalid-arithmetic-operand (#IA) exception.
Operation
IF instruction is FIMUL
THEN
DEST DEST ConvertExtendedReal(SRC);
ELSE (* source operand is real number *)
DEST DEST SRC;
FI;
IF instruction = FMULP
THEN
PopRegisterStack
FI;
FPU Flags Affected
C1
C0, C2, C3
Floating-point Exceptions
#IS
#IA
#D
#U
#O
#P
4:146
F
+
+
F
+
+F
I
+
+F
0
*
+0
0
+0
*
F
+I
F
+F
+
NaN
NaN
NaN
Set to 0 if stack underflow occurred.
Indicates rounding direction if the inexact-result exception (#P) fault
is generated: 0 = not roundup; 1 = roundup.
Undefined.
Stack underflow occurred.
Operand is an SNaN value or unsupported format.
One operand is
Source operand is a denormal value.
Result is too small for destination format.
Result is too large for destination format.
Value cannot be represented exactly in destination format.
DEST
0
+0
*
*
0
+0
0
+0
0
+0
0
+0
0
+0
0
+0
*
*
NaN
NaN
0 and the other is
.
Volume 4: Base IA-32 Instruction Reference
+
+F
NaN
NaN
F
NaN
F
NaN
0
*
NaN
+0
*
NaN
+
+F
NaN
+
+F
NaN
+
+
NaN
NaN
NaN
NaN