170
6 BASIC INSTRUCTIONS
6.2 Arithmetic Operation Instructions
D+(P)(_U) [using three operands]
These instructions add the 32-bit binary data in the device specified by (s1) and the 32-bit binary data in the device specified
by (s2), and store the result in the device specified by (d).
■Descriptions, ranges, and data types
■Applicable devices
• These instructions add the 32-bit binary data in the device specified by (s1) and the 32-bit binary data in the device
specified by (s2), and store the addition result in the device specified by (d).
• When underflow or overflow occurs in the operation result, the following processing is executed. In this case, the carry flag
(SM700, SM8022) does not turn ON.
There is no operation error.
Ladder diagram Structured text
ENO:=DPLUS(EN,s1,s2,d);
ENO:=DPLUSP(EN,s1,s2,d);
ENO:=DPLUS_U(EN,s1,s2,d);
ENO:=DPLUSP_U(EN,s1,s2,d);
Operand Description Range Data type Data type (label)
(s1) D+(P) Augend data or the head device where the
data to which another is added is stored
-2147483648 to +2147483647 32-bit signed binary ANY32_S
D+(P)_U 0 to 4294967295 32-bit unsigned binary ANY32_U
(s2) D+(P) Addend data or the head device where the
data that is added to another is stored
-2147483648 to +2147483647 32-bit signed binary ANY32_S
D+(P)_U 0 to 4294967295 32-bit unsigned binary ANY32_U
(d) D+(P) Head device for storing the operation result 32-bit signed binary ANY32_S
D+(P)_U 32-bit unsigned binary ANY32_U
Operand Bit Word Double word Indirect
specification
Constant Others
X, Y, M, L,
SM, F, B, SB
U\G T, ST,
C, LC
T, ST, C, D,
W, SD, SW, R
U\G Z LC LZ K, H E $
(s1)
(s2)
(d)
b0
567890 (BIN)
(s1)
123456 (BIN) 691346 (BIN)
+
··· ···
(s1)+1
(s2)
(s2)+1
(d)
(d)+1
b31 b16 b15
b0
··· ···
b31 b16 b15
b0
··· ···
b31 b16 b15
+ →
+
→
+ →
K-2147483648 K-2 K2147483646
K4294967295 K2 K1
K2147483647 K2 K-2147483647
(FFFFFFFFH) (00000002H) (00000001H)
(7FFFFFFFH) (00000002H) (80000001H)
(FFFFFFFEH) (7FFFFFFEH)(80000000H)
In case of D+(P)
Because the highest bit is 1, the value is negative.
In case of D+(P)(_U)
Because the highest bit is 0, the value is positive.