API Mnemonic Operands Function
Controllers
20 D ADD P Addition ES/EX/SS SA/SX/SC EH/SV
Type Bit Devices Word Devices Program Steps
OP
X Y M S K H KnX KnY KnM KnS T C D E F ADD, ADDP: 7 steps
S1 * * * * * * * * * * * DADD, DADDP: 13 steps
S2 * * * * * * * * * * *
D * * * * * * * *
PULSE 16-bit 32-bit
ES EX SS SA SX SC EH SV ES EX SS SA SX SC EH SV ES EX SS SA SX SC EH SV
Operands:
S1: Summand S2: Addend D: Sum
Explanations:
1. If S1, S2 and D are used in device F, only 16-bit instruction is applicable.
2. See the specifications of each model for their range of use.
3. Flags: M1020 (zero flag); M1021 (borrow flag); M1022 (carry flag)
4. This instruction adds S1 and S2 in BIN format and store the result in D.
5. The highest bit is symbolic bit 0 (+) and 1 (-), which is suitable for algebraic addition, e.g. 3 + (-9)
= -6.
6. Flag changes in binary addition
In 16-bit BIN addition,
a) If the operation result = 0, zero flag M1020 = On.
b) If the operation result < -32,768, borrow flag M1021 = On.
c) If the operation result > 32,767, carry flag M1022 = On.
In 32-bit BIN addition,
a) If the operation result = 0, zero flag M1020 = On.
b) If the operation result < -2,147,483,648, borrow flag M1021 = On.
c) If the operation result > 2,147,483,647, carry flag M1022 = On.
Program Example 1:
In 16-bit BIN addition:
When X0 = On, the content in D0 will plus the content in D10 and the sum will be stored in D20.
X0
ADD D0 D10 D20
Program Example 2:
In 32-bit BIN addition:
When X0 = On, the content in (D31, D30) will plus the content in (D41, D40) and the sum will be
stored in (D51, D50). D30, D40 and D50 are low 16-bit data; D31, D41 and D51 are high 16-bit data.
X10
DADD D30 D40 D50
(D31, D30) + (D41, D40) = (D51, D50)
Remarks:
Flags and the positive/negative sign of the values:
16-bit : Zero flag Zero flag Zero flag
- +
-2、-1、0、-32,768 -1、0、1 32,767、0、1、2
The highest bit of The highest bit of
Borrow flag Carry flag
the data = 1 (negative) the data = 0 (positive)
32-bit : Zero flag Zero flag Zero flag
- +
-2、-1、0、-2,147,483,648 -1、0、1 2,147,483,647、0、1、2
The highest bit of The highest bit of
Borrow flag Carry flag
the data = 1 (negative) the data = 0 (positive)