IDEC MicroSmart User Manual
Page 236

11: B
INARY
A
RITHMETIC
I
NSTRUCTIONS
11-4
« FC4A M
ICRO
S
MART
U
SER
’
S
M
ANUAL
»
Repeat Operation in the ADD and SUB Instructions
Source operands S1 and S2 and destination operand D1 can be designated to repeat individually or in combination. When
destination operand D1 is not designated to repeat, the final result is set to destination operand D1. When repeat is desig-
nated, consecutive operands as many as the repeat cycles starting with the designated operand are used.
Since the repeat operation works similarly on the ADD (addition) and SUB (subtraction) instructions of the word and inte-
ger data types, the following examples are described using the ADD instruction of the word data type.
Repeat One Source Operand
When only S1 (source) is designated to repeat, the final result is set to destination operand D1.
Repeat Destination Operand Only
When only D1 (destination) is designated to repeat, the same result is set to 3 operands starting with D1.
Repeat Two Source Operands
When S1 and S2 (source) are designated to repeat, the final result is set to destination operand D1.
Repeat Source and Destination Operands
When S1 (source) and D1 (destination) are designated to repeat, different results are set to 3 operands starting with D1.
Repeat All Source and Destination Operands
When all operands are designated to repeat, different results are set to 3 operands starting with D1.
Note: Special internal relay M8003 (carr y/borrow) is turned on when a carr y or borrow occurs in the last repeat operation.
When a user program execution error occurs in any repeat operation, special internal relay M8004 (user program execution
error) and the ERR LED are turned on and maintained while operation for other instructions is continued.
I1
REP
3
S1 R
D10
D1 –
D30
15
D11
10
D10
20
D12
S1 (Repeat = 3)
D1 (Repeat = 0)
S2 –
D20
S2 (Repeat = 0)
+
+
+
(40)
D30
(35)
D30
45
D30
25
D20
25
D20
25
D20
SOTU
ADD(W)
I1
REP
3
S1 –
D10
D1 R
D30
10
D10
10
D10
10
D10
S1 (Repeat = 0)
D1 (Repeat = 3)
S2 –
D20
S2 (Repeat = 0)
+
+
+
35
D31
35
D30
35
D32
25
D20
25
D20
25
D20
SOTU
ADD(W)
I1
REP
3
S1 R
D10
D1 –
D30
15
D11
10
D10
20
D12
S1 (Repeat = 3)
D1 (Repeat = 0)
S2 R
D20
S2 (Repeat = 3)
+
+
+
(50)
D30
(35)
D30
65
D30
35
D21
25
D20
45
D22
SOTU
ADD(W)
I1
REP
3
S1 R
D10
D1 R
D30
15
D11
10
D10
20
D12
S1 (Repeat = 3)
D1 (Repeat = 3)
S2 –
D20
S2 (Repeat = 0)
+
+
+
40
D31
35
D30
45
D32
25
D20
25
D20
25
D20
SOTU
ADD(W)
I1
REP
3
S1 R
D10
D1 R
D30
15
D11
10
D10
20
D12
S1 (Repeat = 3)
D1 (Repeat = 3)
S2 R
D20
S2 (Repeat = 3)
+
+
+
50
D31
35
D30
65
D32
35
D21
25
D20
45
D22
SOTU
ADD(W)