3. Instructions
526
CS/CJ/NSJ Series Instructions Reference Manual (W474)
Operand Specifications
Flags
Function
The data specified in S1 and the data specified in S2 are added (+D(845)), subtracted (-D(846)),
multiplied (∗D(847)), or divided (/D(848)) as double-precision floating-point data (64 bits: IEEE754) and
the result is output to D+3, D+2, D+1, and D.
Area
Word addresses
Indirect DM/EM
addresses
Con-
stants
Registers Flags
Pulse
bits
TR
bits
CI
O
WR HR AR T C DM EM
@DM
@EM
*DM
*EM
DR IR
Indirect
using IR
TK CF
Au, Mi, Md, Dd,
Ad, Su, Mr, Dr
OK OK OK OK OK OK OK OK OK OK --- --- --- OK --- --- --- ---
D
Name Label Operation
Error Flag P_ER • ON when S1 or S2 is not treated as floating-point data.
•+D
•ON if the augend or addend data is not a number (NaN).
•ON if +o is added to -o.
•-D
•ON if the minuend or subtrahend is not a number (NaN).
•ON if +o is subtracted from +o.
•ON if -o is subtracted from -o.
• ∗D
•ON if the multiplicand or multiplier is not a number (NaN).
•ON if +o and 0 are multiplied.
•ON if -o and 0 are multiplied.
•/D
•ON if the dividend or divisor is not a number (NaN).
•ON if the dividend and divisor are both 0.
•ON if the dividend and divisor are both +o or -o.
• OFF in all other cases.
Equals Flag P_EQ • ON if both the exponent and mantissa of the result are 0.
• OFF in all other cases.
Overflow Flag P_OF • ON if the absolute value of the result is too large to be expressed as a double-precision floating-point
value.
Underflow Flag P_UF • ON if the absolute value of the result is too small to be expressed as a double-precision floating-point
value.
Negative Flag P_N • ON if the result is negative.
• OFF in all other cases.
•+D •-D
• ∗D•/D
S1+3CH
S2+3CH
+
S1CH
S2CH
D+3CH DCH
S1+1CH
S2+1CH
D+1CH
S1+2CH
S2+2CH
D+2CH
Augend
(floating-point data, 64-bits)
Addend
(floating-point data, 64-bits)
Result
(floating-point data, 64-bits)
S1+1CH
S2+1CH
−
S1CH
S2CH
D+1CH DCH
S1+2CH
S2+2CH
D+2CH
S1+3CH
S2+3CH
D+3CH
Minuend
(floating-point data, 64-bits)
Subtrahend
(floating-point data, 64-bits)
Result
(floating-point data, 64-bits)
S1+1CH
S2+1CH
×
S1CH
S2CH
D+1CH DCH
S1+2CH
S2+2CH
D+2CH
S1+3CH
S2+3CH
D+3CH
Multiplicand
(floating-point data, 64-bits)
Multiplier
(floating-point data, 64-bits)
Result
(floating-point data, 64-bits)
S1+1
S2+1
÷
S1
S2
D+1 DCH
S1+2
S2+2
D+2
S1+3
S2+3
D+3
Dividend
(floating-point data, 64-bits)
Divisor
(floating-point data, 64-bits)
Result
(floating-point data, 64-bits)