358
Floating-point Math Instructions
Section 5-24
OF:
ON if the absolute value of the result is too large to be expressed as a
32-bit floating-point value. (The result will be output as
±∞
.)
UF:
ON if the absolute value of the result is too small to be expressed as a
32-bit floating-point value. (The result will be output as 0.)
5-24-7 FLOATING-POINT MULTIPLY:
*
F(––)
Limitations
The Multiplicand (Md+1 and Md) and Multiplier (Mr+1 and Mr) data must be in
IEEE754 floating-point data format.
DM 6143 to DM 6655 cannot be used for R.
Description
When the execution condition is OFF,
*
F(––) is not executed. When the exe-
cution condition is ON,
*
F(––) multiplies the 32-bit floating-point number in
Md+1 and Md by the 32-bit floating-point number in Mr+1 and Mr and places
the result in R+1 and R. (The floating point data must be in IEEE754 format.)
If the absolute value of the result is greater than the maximum value that can
be expressed as floating-point data, the Overflow Flag (SR 25404) will turn
ON and the result will be output as
±∞
.
If the absolute value of the result is less than the minimum value that can be
expressed as floating-point data, the Underflow Flag (SR 25405) will turn ON
and the result will be output as 0.
The various combinations of multiplicand and multiplier data will produce the
results shown in the following table.
Note
1.
The results could be zero (including underflows), a numeral, +
∞
, or –
∞
.
2.
The Error Flag will be turned ON and the instruction won’t be executed.
Md
:
First multiplicand word
IR, SR, AR, DM, EM, HR, TIM/CNT, LR
Mr
:
First multiplier word
IR, SR, AR, DM, EM, HR, TIM/CNT, LR
Ladder Symbols
Operand Data Areas
R
: First result word
IR, SR, AR, DM, EM, HR, LR
*
F(
−−
)
Md
Mr
R
@
*
F(
−−
)
Md
Mr
R
Multiplicand
Multiplier
0
Numeral
+
∞
–
∞
NaN
0
0
0
See note 2.
See note 2.
Numeral
0
See note 1.
+/–
∞
+/–
∞
+
∞
See note 2.
+/–
∞
+
∞
–
∞
–
∞
See note 2.
+/–
∞
–
∞
+
∞
NaN
See note 2.
R+1
R
Md
Multiplicand (floating-point data, 32 bits)
Md+1
Mr
Multiplier (floating-point data, 32 bits)
Mr+1
Result (floating-point data, 32 bits)
×