Wiki source code of 01 Transfer and comparison

Version 4.1 by Joey on 2022/06/10 09:37

Show last authors
1 = **Transfer comparison instruction** =
2
3 == **MOV/16-bit transmission** ==
4
5 (% class="wikigeneratedid" id="HMOV28P29" %)
6 **MOV(P)**
7
8 Transfer the BIN 16-bit data of the device specified in (S) to the device specified in (D).
9
10 -[MOV (S) (D)]
11
12 **Content, range and data type**
13
14 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
15 |(% style="text-align:center; vertical-align:middle" %)(S)|Transmit source data or the device number stored data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
16 |(% style="text-align:center; vertical-align:middle" %)(D)|Transmit destination device number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
17
18 **Device used**
19
20 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
21 **Pulse extension**
22 )))
23 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
24 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)MOV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
25 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
26
27 **Features**
28
29 • Transfer the BIN 16-bit data specified in (S) to the device specified in (D).
30
31 (% style="text-align:center" %)
32 [[image:07-1 Basic instructions_html_608d557cd7a9b085.png||height="178" width="700"]]
33
34 **Error code**
35
36 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
37 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (S) in read application instruction exceeds the device range
38 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
39
40 **Example**
41
42 (% style="text-align:center" %)
43 [[image:07-1 Basic instructions_html_49a2ba67b393cca0.png]]
44
45 When M0 is set, the value of D0 is transferred to the value of D2: (D0)→(D2).
46
47 == **DMOV/32-bit transmission** ==
48
49 **DMOV(P)**
50
51 Transfer the BIN 32-bit data of the device specified in (S) to the device specified in (D).
52
53 -[DMOV (S) (D)]
54
55 **Content, range and data type**
56
57 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
58 |(% style="text-align:center; vertical-align:middle" %)(S)|Transmit source data or the device number stored data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
59 |(% style="text-align:center; vertical-align:middle" %)(D)|Transmit destination device number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
60
61 **Device used**
62
63 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
64 **Pulse extension**
65 )))
66 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
67 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DMOV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
68 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
69
70 **Features**
71
72 Transfer the BIN 16-bit data specified in (S) to the device specified in (D).
73
74 (% style="text-align:center" %)
75 [[image:07-1 Basic instructions_html_a7a87e4ee0331a3.png||height="248" width="725"]]
76
77 **Error code**
78
79 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
80 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (S) in read application instruction exceeds the device range
81 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
82
83 **Example**
84
85 (% style="text-align:center" %)
86 [[image:07-1 Basic instructions_html_cbab7254f3dd95a9.png]]
87
88 When M0 is set, the value of (D1, D0) is transferred to the value of (D3, D2): (D1, D0) → (D3, D2).
89
90 == **BMOV/Batch transmission** ==
91
92 **BMOV(P)**
93
94 The (N) point BIN 16-bit data starting from the device specified in (S) is sequentially transmitted to the device specified in (D).
95
96 -[BMOV (S) (D) (N)]
97
98 **Content, range and data type**
99
100 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
101 |(% style="text-align:center; vertical-align:middle" %)(S)|The start device that stores the transmission data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
102 |(% style="text-align:center; vertical-align:middle" %)(D)|The start device that transmit target|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
103 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of transmission|(% style="text-align:center; vertical-align:middle" %)1 ≤ N ≤ 512|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
104
105 **Device used**
106
107 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
108 **Pulse**
109
110 **extension**
111 )))
112 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
113 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)BMOV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
114 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
115 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
116
117 **Features**
118
119 Batch transfer the BIN 16-bit data of point (N) starting from the device specified in (S) to the device specified in (D).
120
121 (% style="text-align:center" %)
122 [[image:07-1 Basic instructions_html_be0796979ffd3c06.png||height="268" width="750"]]
123
124 When the device number exceeds the range, it will be transferred within the allowable range.
125
126 By controlling the direction reversal flag (SM224) of the BMOV instruction, the BIN 16-bit data at point (N) starting from the device specified in (D) can be batch transferred to the device specified in (S).
127
128 **Error code**
129
130 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
131 |(% style="text-align:center; vertical-align:middle" %)4084H|In application instruction (N) input the data exceeds the specified range
132 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S) and (N) in read application instruction exceed the device range
133 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
134
135 **Example**
136
137 (% style="text-align:center" %)
138 [[image:07-1 Basic instructions_html_508e98856ee24b54.png]]
139
140 When M0 is set, set M1, then (D5)→(D10); (D6)→(D11); (D7)→(D12);
141
142 When M0 is reset, set M1, then (D10)→(D5); (D11)→(D6); (D12)→(D7).
143
144 == **FMOV/16-bit multicast** ==
145
146 **FMOV(P)**
147
148 Transfer the BIN 16-bit data of the device specified in (S1) to the device specified in (D) at (n) points (that is, transfer the same data to multiple addresses).
149
150 -[FMOV (S) (D) (N)]
151
152 **Content, range and data type**
153
154 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
155 |(% style="text-align:center; vertical-align:middle" %)(S)|The start device that stores the transmission data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
156 |(% style="text-align:center; vertical-align:middle" %)(D)|The start device that transmit target|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
157 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of transmission|(% style="text-align:center; vertical-align:middle" %)[K1 ≤ N ≤ 512]|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
158
159 **Device used**
160
161 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
162 **Pulse extension**
163 )))
164 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
165 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)FMOV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
166 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
167 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
168
169 **Features**
170
171 The same data as the BIN 16-bit data of the device specified in (S) is transferred to the device specified in (D) at (N) points.
172
173 (% style="text-align:center" %)
174 [[image:07-1 Basic instructions_html_9ef78d87c9eeaa63.png||height="305" width="750"]]
175
176 When the number specified in (N) exceeds the device number range, transfer is performed within the allowable range.
177
178 When a constant (K) is specified for the transmission source (S), it will be automatically converted to BIN.
179
180 **Error code**
181
182 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
183 |(% style="text-align:center; vertical-align:middle" %)4084H|(S) and(N) input the data In application instruction exceed the specified range
184 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S) and (N) in read application instruction exceed the device range
185 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
186
187 **Example**
188
189 (% style="text-align:center" %)
190 [[image:07-1 Basic instructions_html_ff5ab9afced99509.png]]
191
192 When M0 is set, the value of D0 to D4 is set to 0.
193
194 (% style="text-align:center" %)
195 [[image:07-1 Basic instructions_html_95f9fe70e9adcf29.png||height="312" width="725"]]
196
197 == **DFMOV/ 32-bit multicast** ==
198
199 **DFMOV(P)**
200
201 Transfer the BIN 32-bit data of the device specified in (S1) to the device specified in (D) at (N) points (that is, transfer the same data to multiple addresses).
202
203 -[FMOV (S) (D) (N)]
204
205 **Content, range and data type**
206
207 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
208 |(% style="text-align:center; vertical-align:middle" %)(S)|Transfer data or start device storing transfer data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
209 |(% style="text-align:center; vertical-align:middle" %)(D)|Start device of transfer destination|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
210 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of transfers|(% style="text-align:center; vertical-align:middle" %)[1≤ N ≤512]|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
211
212 **Device used**
213
214 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
215 **Pulse extension**
216 )))
217 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
218 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DFMOV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
219 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
220 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
221
222 **Features**
223
224 The same data as the BIN 32-bit data of the device specified in (S) is transferred to the device specified in (D) at (N) points.
225
226 (% style="text-align:center" %)
227 [[image:07-1 Basic instructions_html_f3f9cd2e9dfe1cfe.png||height="213" width="750"]]
228
229 When the number specified in (N) exceeds the device number range, transfer is performed within the allowable range.
230
231 When a constant (K) is specified for the transmission source (S), it will be automatically converted to BIN.
232
233 **Error code**
234
235 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
236 |(% style="text-align:center; vertical-align:middle" %)4084H|(S) and (N) input the data In application instruction exceed the specified range
237 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S) and (N) in read application instruction exceed the device range
238 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
239
240 **Example**
241
242 (% style="text-align:center" %)
243 [[image:07-1 Basic instructions_html_a390e21753dc736e.png]]
244
245 When M0 is set, the value of (D1, D0), (D3, D2), (D5, D4), (D7, D6), (D9, D8) is set to 0.
246
247 == **SMOV/Bit shift** ==
248
249 **SMOV(P)**
250
251 A instruction for distributing and synthesizing data in units of digits (4 bits).
252
253 -[SMOV (S) (N1) (N2) (D) (N3)]
254
255 **Content, range and data type**
256
257 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
258 |(% style="text-align:center; vertical-align:middle" %)(S)|The word device number that stores the data whose bit is to be moved|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
259 |(% style="text-align:center; vertical-align:middle" %)(N1)|Transfer destination device number|(% style="text-align:center; vertical-align:middle" %)1 to 4|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
260 |(% style="text-align:center; vertical-align:middle" %)(N2)|The number of digits to move|(% style="text-align:center; vertical-align:middle" %)1 to 4|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
261 |(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores data for bit shifting|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
262 |(% style="text-align:center; vertical-align:middle" %)(N3)|The starting position of the moving target|(% style="text-align:center; vertical-align:middle" %)1 to 4|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
263
264 **Device used**
265
266 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
267 **Pulse extension**
268 )))
269 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
270 |(% rowspan="5" style="text-align:center; vertical-align:middle" %)SMOV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
271 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
272 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
273 |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
274 |(% style="text-align:center; vertical-align:middle" %)Parameter 5|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
275
276 **Features**
277
278 The data is distributed/combined in units of digits (4 bits). The contents of the transmission source (S) and the transmission destination (D) are converted into 4-digit BCD (0000 to 9999), and the (N1) bits are transferred to the lower (N2) bits and the (N3) bits of the transmission destination (D) (combined ) After reaching the starting position, it is converted to BIN and stored in the transfer destination (D).
279
280 When the instruction input is OFF, the transfer destination (D) does not change.
281
282 When the instruction input is ON, the data of the transmission source (S) and the number of digits other than the transmission specification of the transmission destination (D) do not change.
283
284 Perform BIN→BCD conversion on (S).
285
286 (((
287 Transfer (synthesize) the (N1)th bit to the lower (N2), (D), (N3)th bit to the (N2)th bit counted from the previous. (D), the first and fourth digits start from (S), and the transmission will not be affected.
288
289 Convert the synthesized data (BCD) into BIN and store it in (D).
290
291 (% style="text-align:center" %)
292 [[image:07-1 Basic instructions_html_34ee545d4d67eedb.gif||height="442" width="750"]]
293 )))
294
295 **Extended function**
296
297 If the SMOV instruction is executed after SM168 is turned ON, the BIN→BCD conversion will not be performed. The bit shift is performed in 4-bit units.
298
299 **Error code**
300
301 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
302 |(% style="text-align:center; vertical-align:middle" %)4084H|(N1), (N2) and (N3) input data that exceed the specified range in the application instruction or does not satisfy the relationship of N2≤N1 and N2≤N3.
303 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (S), (N1) (N2), (D) and (N3) in the read application instruction exceeds the device range
304 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instructions exceeds the device range
305
306 **Example**
307
308 After synthesizing the data of the 3-digit digital switch, it is stored in D2 in binary.
309
310 (% style="text-align:center" %)
311 [[image:07-1 Basic instructions_html_813e30f89d5a26b3.png]]
312
313 Combine data of 3 digital switches connected to non-continuous input terminals.
314
315 (% style="text-align:center" %)
316 [[image:07-1 Basic instructions_html_313402f5a5ed68ac.png]]
317
318 When M0 is set,
319
320 (X020 to X027) BCD 2 digits → D 2 (binary);
321
322 (X000 to X003) BCD 1 digit → D 1 (binary);
323
324 Store the 1 digit of D1 into the 3 digit of D2, and synthesize a 3-digit value.
325
326 == **CML/16-bit invert transmission** ==
327
328 **CML(P)  **
329
330 After the BIN 16-bit data specified in (S) is inverted bit by bit, the result is transferred to the device specified in (D).
331
332 -[CML (S) (D)]
333
334 **Content, range and data type**
335
336 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
337 |(% style="text-align:center; vertical-align:middle" %)(S)|Inverted data or the device number that stores data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
338 |(% style="text-align:center; vertical-align:middle" %)(D)|The device number that stores the inversion result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
339
340 **Device used**
341
342 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
343 **Pulse extension**
344 )))
345 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
346 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)CML|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
347 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
348
349 **Features**
350
351 After inverting the BIN 16-bit data specified in (S) bit by bit, the result is transferred to the device specified in (D).
352
353 (% style="text-align:center" %)
354 [[image:07-1 Basic instructions_html_ac6a8a5d1cd98a7.png]]
355
356 When the number of digits of the device with the specified digit is 4 points, other digits are not affected.
357
358 **Error code**
359
360 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
361 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (S) in read application instruction exceeds the device range
362 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
363
364 **Example**
365
366 Example 1:
367
368 (% style="text-align:center" %)
369 [[image:07-1 Basic instructions_html_1747c114427d7d5a.png]]
370
371 When M0 is set, the value of D0 is inverted and transferred to the value of D2.
372
373 Example 2:
374
375 invert input acquisition:
376
377 (% style="text-align:center" %)
378 [[image:07-1 Basic instructions_html_11af96bca5fab94f.png||height="211" width="750"]]
379
380 == **DCML/32-bit invert transmission** ==
381
382 **DCML(P)**
383
384 After the BIN 32-bit data specified in (s) is inverted bit by bit, the result is transferred to the device specified in (d).
385
386 -[CML (s) (d)]
387
388 **Content, range and data type**
389
390 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
391 |(% style="text-align:center; vertical-align:middle" %)(s)|Inverted data or the device number that stores data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
392 |(% style="text-align:center; vertical-align:middle" %)(d)|The device number that stores the inversion result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
393
394 **Device used**
395
396 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="14" %)**Devices**|**Offset modification**|(((
397 **Pulse**
398
399 **extension**
400 )))
401 |**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
402 |(% rowspan="2" %)DCML|Parameter 1|●|●|●|●|●|●|●|●|●|●|●|●|●| |●|●
403 |Parameter 2| |●|●|●|●|●|●|●|●|●|●| | | |●|●
404
405 **Features**
406
407 After inverting the BIN 32-bit data specified in (s) bit by bit, the result is transferred to the device specified in (d).
408
409 (% style="text-align:center" %)
410 [[image:07-1 Basic instructions_html_7f6b1b324c7b408b.png]]
411
412 When the number of digits of the device with the specified digit is 4 points, other digits are not affected.
413
414 **Error code**
415
416 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
417 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (s) in read application instruction exceeds the device range
418 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (d) in write application instruction exceeds the device range
419
420 **Example**
421
422 (% style="text-align:center" %)
423 [[image:07-1 Basic instructions_html_10734f3934cb4211.png]]
424
425 When M0 is set, the value of (D1, D0) is reversed and transferred to the value of (D3, D2).
426
427 == **CMP/16-bit data comparison output** ==
428
429 **CMP(P)**
430
431 Compare the BIN 16-bit data of the device specified in (s1) and (s2).
432
433 -[CML (S1) (S2) (D)]
434
435 **Content, range and data type**
436
437 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
438 |(% style="text-align:center; vertical-align:middle" %)(S1)|Comparison value data or the device storing the comparison value data|(% style="text-align:center; vertical-align:middle" %)-32768 to +32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
439 |(% style="text-align:center; vertical-align:middle" %)(S2)|Comparison source data or the device storing the comparison source data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
440 |(% style="text-align:center; vertical-align:middle" %)(D)|Start bit device for output comparison result|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANYBIT_ARRAY
441
442 **Device used**
443
444 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="16" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
445 **Pulse extension**
446 )))
447 |(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
448 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)CMP|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
449 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
450 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)
451
452 **Features**
453
454 Compare the BIN 16-bit data of the device specified in (S1) with the BIN 16-bit data of the device specified in (S2). According to the result (less than, consistent, greater than), (D), (D)+1, (D) One of )+2 will turn ON.
455
456 (S1) and (S2) are handled as BIN values within the above setting data range.
457
458 Use algebraic methods for size comparison.
459
460 (% style="text-align:center" %)
461 [[image:07-1 Basic instructions_html_d5b466b2989a168c.png||height="295" width="750"]]
462
463 (1): Even if the instruction input is OFF and the CMP instruction is not executed, (D) to (D)+2 will keep the state before the instruction input changed from ON to OFF.
464
465 ✎**Note:  **Occupy the device specified in 3 points (D) at the beginning, please be careful not to overlap with the device used for other control.
466
467 **Error code**
468
469 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
470 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in read application instruction exceed the device range
471 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
472
473 **Example**
474
475 (% style="text-align:center" %)
476 [[image:07-1 Basic instructions_html_3f1803378f8b10a8.png]]
477
478 When M0 is set, compare the values of D0 and D2:
479
480 If (D0)> (D2) then Y0 is ON.
481
482 If (D0) = (D2) then Y1 is ON. If (D0) <(D2) then Y2 is ON.
483
484 == **DCMP/32-bit data comparison output** ==
485
486 **DCMP(P)**
487
488 Compare the BIN 32-bit data of the device specified in (S1) and (S2).
489
490 -[DCML (S1) (S2) (D)]
491
492 **Content, range and data type**
493
494 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
495 |(% style="text-align:center; vertical-align:middle" %)(S1)|Comparison value data or the device storing the comparison value data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
496 |(% style="text-align:center; vertical-align:middle" %)(S2)|Comparison source data or the device storing the comparison source data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
497 |(% style="text-align:center; vertical-align:middle" %)(D)|Start bit device for output comparison result|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANYBIT_ARRAY
498
499 **Device used**
500
501 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="18" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
502 **Pulse extension**
503 )))
504 |(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
505 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DCMP|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
506 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
507 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)
508
509 **Features**
510
511 • Compare the BIN 16-bit data of the device specified in (S1) with the BIN 16-bit data of the device specified in (S2). According to the result (less than, consistent, greater than), (D), (D)+1, (D) One of )+2 will turn ON.
512
513 • (S1) and (S2) are handled as BIN values within the above setting data range.
514
515 • Use algebraic methods for size comparison.
516
517 (% style="text-align:center" %)
518 [[image:07-1 Basic instructions_html_d5b466b2989a168c.png||height="295" width="750"]]
519
520 (1): Even if the instruction input is OFF, the DCMP instruction is not executed, (D) to (D)+2 will keep the state before the instruction input changed from ON to OFF.
521
522 ✎**Note: ** Occupy the device specified in 3 points (D) at the beginning. Please be careful not to overlap with other control devices.
523
524 **Error code**
525
526 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
527 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in read application instruction exceed the device range
528 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
529
530 **Example**
531
532 (% style="text-align:center" %)
533 [[image:07-1 Basic instructions_html_db9a9675057311a.png]]
534
535 When M0 is set, compare the values of (D1, D0) and (D3, D2):
536
537 If (D1, D0)> (D3, D2) then Y0 is ON.
538
539 If (D1, D0) = (D3, D2) then Y1 is ON.
540
541 If (D1, D0) <(D3, D2) then Y2 is ON.
542
543 == **XCH/16-bit data exchange** ==
544
545 **XCH(P)**
546
547 Exchange the BIN 16-bit data of (D1) and (D2).
548
549 -[XCH (D1) (D2)]
550
551 **Content, range and data type**
552
553 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
554 |(% style="text-align:center; vertical-align:middle" %)(D1)|The start device that stores the exchange data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
555 |(% style="text-align:center; vertical-align:middle" %)(D2)|The start device that stores the exchange data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
556
557 **Device used**
558
559 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="8" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
560 **Pulse extension**
561 )))
562 |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
563 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)XCH|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
564 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
565
566 **Features**
567
568 • Exchange the BIN 16-bit data of (D1) and (D2).
569
570 (% style="text-align:center" %)
571 [[image:07-1 Basic instructions_html_da762df21d9f9e95.png||height="276" width="713"]]
572
573 • When executing instructions with SM160 ON, if the device numbers of (D1) and (D2) are the same. Exchange the upper 8 bits (byte) and lower 8 bits (byte) of the word device.
574
575 (% style="text-align:center" %)
576 [[image:07-1 Basic instructions_html_c0cea7cfb5b2e83c.png]]
577
578 ✎**Note: **If continuous execution instructions are used, conversion will be performed every operation cycle.
579
580 **Error code**
581
582 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
583 |(% style="text-align:center; vertical-align:middle" %)4084H|In exchange mode, the devices in (D1) and (D2) are different
584 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D1) and (D2) in the read application instruction exceed the device range
585 |(% style="text-align:center; vertical-align:middle" %)4086H|The output results of (D1) and (D2) in the writing application instruction exceed the device range
586
587 **Example**
588
589 When M0 is reset, set M1: the value of D0 and the value of D2 are exchanged.
590
591 (% style="text-align:center" %)
592 [[image:07-1 Basic instructions_html_379b08fc9ff53251.png]]
593
594 When M0 is set, M1 is set: the upper 8 bits (bytes) and lower 8 bits (bytes) of D0 are exchanged with each other.
595
596 (% style="text-align:center" %)
597 [[image:07-1 Basic instructions_html_3642e474e8c61a0f.png]]
598
599 == **DXCH/32-bit data exchange** ==
600
601 **DXCH(P)**
602
603 Exchange (D1) and (D2) BIN 32-bit data.
604
605 -[DXCH (D1) (D2)]
606
607 **Content, range and data type**
608
609 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
610 |(% style="text-align:center; vertical-align:middle" %)(D1)|The start device that stores the exchange data|(% style="text-align:center; vertical-align:middle" %)-2147483647 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
611 |(% style="text-align:center; vertical-align:middle" %)(D2)|The start device that stores the exchange data|(% style="text-align:center; vertical-align:middle" %)-2147483647 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
612
613 **Device used**
614
615 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="10" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
616 **Pulse extension**
617 )))
618 |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
619 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DXCH|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
620 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
621
622 **Features**
623
624 • Exchange the BIN 32-bit data of (D1), (D1)+1 and (D2), (D2)+1.
625
626 (% style="text-align:center" %)
627 [[image:07-1 Basic instructions_html_3e35d534c210d03a.png||height="288" width="750"]]
628
629 • When executing instructions with SM160 ON, if the device numbers of (D1) and (D2) are the same. Exchange the upper 8 bits (byte) and lower 8 bits (byte) of the word device (D1) and (D1+1).
630
631 (% style="text-align:center" %)
632 [[image:07-1 Basic instructions_html_f115854aba0c26e.png||height="222" width="880"]]
633
634 ✎**Note: **If continuous execution instructions are used, conversion will be performed every operation cycle.
635
636 **Error code**
637
638 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
639 |(% style="text-align:center; vertical-align:middle" %)4084H|In exchange mode, the devices in (D1) and (D2) are different
640 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D1) and (D2) in the read application instruction exceed the device range
641 |(% style="text-align:center; vertical-align:middle" %)4086H|The output results of (D1) and (D2) in the writing application instruction exceed the device range
642
643 **Example :**
644
645 When M0 is set, M1 is set: the high 8 bits (byte) and low 8 bits (byte) of the D0 Devices are exchanged, and the high 8 bits (byte) and low 8 bits (byte) of the D1 Devices ) Exchange each other.
646
647 (% style="text-align:center" %)
648 [[image:07-1 Basic instructions_html_4e345d7e7c986d10.png]]
649
650 When M0 is reset, set M1: the value of (D1, D0) and the value of (D3, D2) are exchanged.
651
652 (% style="text-align:center" %)
653 [[image:07-1 Basic instructions_html_9fff2f30b51cfc7f.png]]
654
655 == **ZCP/16-bit data interval comparison** ==
656
657 **ZCP(P)**
658
659 Compare the BIN 16-bit data of the device specified in (S1) and the value (bandwidth) of the BIN 16-bit data of the device specified in (S2) with the BIN 16-bit data of the device specified in the comparison source (S3), Output the result (bottom, area, top) to the device specified in (D) and later.
660
661 -[ZCP (S1) (S2) (S3) (D)]
662
663 **Content, range and data type**
664
665 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
666 |(% style="text-align:center; vertical-align:middle" %)(S1)|The comparison value data of low limit or the device that stores the comparison value data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
667 |(% style="text-align:center; vertical-align:middle" %)(S2)|The comparison value data of high limit or the device that stores the comparison value data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
668 |(% style="text-align:center; vertical-align:middle" %)(S3)|Comparison source data or the device that stores the comparison source data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
669 |(% style="text-align:center; vertical-align:middle" %)(D)|The start bit device of output comparison result|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANYBIT_ARRAY
670
671 **Device used**
672
673 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="17" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
674 **Pulse extension**
675 )))
676 |(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**E**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
677 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)ZCP|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
678 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
679 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
680 |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)
681
682 **Features**
683
684 • Compare the BIN 16-bit data of the device specified in (S1) and the value (bandwidth) of the BIN 16-bit data of the device specified in (S2) with the BIN 16-bit data of the device specified in the comparison source (S3) , According to the result (bottom, area, top), one of (D), (D)+1, (D)+2 will be turned ON. (S1), (S2), (S3) are treated as BIN values within the above-mentioned setting data range. Use algebraic methods for size comparison.
685
686 • Use algebraic methods for size comparison.
687
688 (% style="text-align:center" %)
689 [[image:07-1 Basic instructions_html_878004f8efa838b.gif||height="361" width="700"]]
690
691 (1): Even if the instruction input is OFF and the ZCP instruction is not executed, (D) to (D)+2 will keep the state before the instruction input turns from ON to OFF.
692
693 ✎**Note: **
694
695 • Please set the lower comparison value (S1) to a value smaller than the upper comparison value (S2).
696
697 • When (s1) is greater than (S2), it will be processed as (S2)=(S1).
698
699 • The device specified in 3 points (d) is occupied at the beginning. Please be careful not to overlap with other control devices.
700
701 **Error code**
702
703 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
704 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1), (S2) and (S3) in the read application instruction exceed the device range
705 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instructions exceeds the device range
706
707 **Example**
708
709 (% style="text-align:center" %)
710 [[image:07-1 Basic instructions_html_db2bc281a152807e.png]]
711
712 When M0 is set, compare whether D0 is between 0 and 1000:
713
714 If (D0)> (1000), then Y0 is ON.
715
716 If (0) ≤ (D0) ≤ (1000), then Y1 is ON.
717
718 If (D0) <(0), then Y2 is ON.
719
720 == **DZCP/32-bit data interval comparison** ==
721
722 **DZCP(P)**
723
724 Compare the BIN 32-bit data of the device specified in (S1) and the value (bandwidth) of the BIN 32-bit data of the device specified in (S2) with the BIN 32-bit data of the device specified in the comparison source (S3), Output the result (bottom, area, top) to the device specified in (D) and later.
725
726 -[DZCP (S1) (S2) (S3) (D)]
727
728 **Content, range and data type**
729
730 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
731 |(% style="text-align:center; vertical-align:middle" %)(S1)|The comparison value data of low limit or the device that stores the comparison value data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
732 |(% style="text-align:center; vertical-align:middle" %)(S2)|The comparison value data of high limit or the device that stores the comparison value data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
733 |(% style="text-align:center; vertical-align:middle" %)(S3)|Comparison source data or the device that stores the comparison source data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
734 |(% style="text-align:center; vertical-align:middle" %)(D)|The start bit device of output comparison result|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANYBIT_ARRAY
735
736 **Device used**
737
738 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="19" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
739 **Pulse extension**
740 )))
741 |(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**E**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
742 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)DZCP|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
743 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
744 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
745 |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)
746
747 **Features**
748
749 • Compare the BIN 32-bit data of the device specified in (S1) and the value (bandwidth) of the BIN 32-bit data of the device specified in (S2) with the BIN 32-bit data of the device specified in the comparison source (S3) , According to the result (bottom, area, top), one of (D), (D)+1, (D)+2 will be turned ON. (S1), (S2), (S3) are treated as BIN values within the above-mentioned setting data range. Use algebraic methods for size comparison.
750
751 • Use algebraic methods for size comparison.
752
753 (% style="text-align:center" %)
754 [[image:07-1 Basic instructions_html_878004f8efa838b.gif||height="361" width="700"]]
755
756 (1): Even if the instruction input is OFF and the ZCP instruction is not executed, (D) to (D)+2 will keep the state before the instruction input turns from ON to OFF.
757
758 ✎**Note: **
759
760 • Please set the lower comparison value (S1) to a value smaller than the upper comparison value (S2).
761
762 • When (S1) is greater than (S2), it will be processed as (S2)=(S1).
763
764 • The device specified in 3 points (D) is occupied at the beginning. Please be careful not to overlap with other control devices.
765
766 **Error code**
767
768 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
769 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1), (S2) and (S3) in the read application instruction exceed the device range
770 |(% style="text-align:center; vertical-align:middle" %)4086H|The output results of (D) in the write application instruction exceeds the device range
771
772 **Example**
773
774 (% style="text-align:center" %)
775 [[image:07-1 Basic instructions_html_a215dc073ae34e2c.png]]
776
777 When M0 is set, compare D0 with whether it is between 0 and 100000:
778
779 If (D0)> (100000), then Y0 is ON.
780
781 If (0) ≤ (D0) ≤ (100000), then Y1 is ON.
782
783 If (D0) <(0), then Y2 is ON.
784
785 = **Cycle shift instruction** =
786
787 == **ROR/16-bit cycle shift right** ==
788
789 **ROR(P)**
790
791 Shift the 16-bit data of the device specified in (D) to the right by (N) bits without including the carry flag.
792
793 -[ROR (D) (N)]
794
795 **Content, range and data type**
796
797 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
798 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
799 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
800
801 **Device used**
802
803 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
804 **Pulse extension**
805 )))
806 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
807 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)ROR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
808 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
809
810 **Features**
811
812 ・The 16-bit data of the device specified in (D) is shifted right by (N) bits without including the carry flag. The carry flag is in the ON or OFF state according to the state before the ROR(P) is executed.
813
814 (% style="text-align:center" %)
815 [[image:07-1 Basic instructions_html_211c81ae87a63ccc.gif||height="415" width="750"]]
816
817 (N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the right. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit right shift is performed.
818
819 **Related device**
820
821 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
822 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1.
823
824 ✎**Note: **
825
826 Do not set the number of digits (N) shifted right to a negative value.
827
828 In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful.
829
830 When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
831
832
833 **Error code**
834
835 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
836 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
837 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
838 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
839
840 **Example**
841
842 (% style="text-align:center" %)
843 [[image:07-1 Basic instructions_html_3f35914868d0e9df.png]]
844
845 Shift the 1 in the D0 device by 3 bits to the right to get 8192.
846
847 == **DROR/32-bit cycle shift right** ==
848
849 **DROR(P)**
850
851 Shift the 32-bit data of the device specified in (D) to the right by (N) bits without including the carry flag.
852
853 -[DROR (D) (N)]
854
855 **Content, range and data type**
856
857 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
858 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
859 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
860
861 **Device used**
862
863 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
864 **Pulse extension**
865 )))
866 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
867 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DROR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
868 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
869
870 **Features**
871
872 ・The 32-bit data of the device specified in (D) is shifted right by (N) bits without including the carry flag. The carry flag is on or off according to the state before DROR(P) is executed.
873
874 (% style="text-align:center" %)
875 [[image:07-1 Basic instructions_html_782300af1d1cbbc6.gif||height="292" width="750"]]
876
877 (N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder of (N)÷32 is shifted to the right. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit right shift is performed.
878
879 **Related device**
880
881 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
882 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1.
883
884 ✎**Note: **
885
886 Do not set the number of digits (N) shifted right to a negative value.
887
888 In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
889
890 **Error code**
891
892 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
893 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
894 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
895 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
896
897 (((
898 After the rising edge of M1 is triggered, the value 32 of the D0 device is shifted right by 3 bits to get 4.
899
900 **Example**
901 )))
902
903 (% style="text-align:center" %)
904 [[image:07-1 Basic instructions_html_50ea116e0a4110c.png]]
905
906 == **RCR/16-bit cycle shift right with carry** ==
907
908 **RCR(P)**
909
910 Shift the 16-bit data of the device specified in (D) to the right by (N) bits with the carry flag included.
911
912 -[RCR (D) (N)]
913
914 **Content, range and data type**
915
916 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
917 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
918 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
919
920 **Device used**
921
922 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
923 **Pulse extension**
924 )))
925 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
926 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)RCR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
927 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
928
929 **Features**
930
931 Shift the BIN 16-bit data of the device specified in (D) to the right by (N) bits with the carry flag included. The carry flag is on or off according to the state before the RCR(P) is executed.
932
933 (% style="text-align:center" %)
934 [[image:07-1 Basic instructions_html_892489cd33fef35e.gif||height="368" width="750"]]
935
936 (N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the right. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit right shift is performed.
937
938 **Related device**
939
940 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
941 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1.
942
943 ✎**Note: **
944
945 Do not set the number of digits (N) shifted right to a negative value.
946
947 In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful.
948
949 When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
950
951 **Error code**
952
953 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
954 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N)
955 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
956 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
957
958 **Example**
959
960 (% style="text-align:center" %)
961 [[image:07-1 Basic instructions_html_d84a8536f60ce54a.png]]
962
963 After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. When M1=ON, the value in the D0 device is shifted right by 4 bits to get 12288.
964
965 == **DRCR/32-bit cycle shift right with carry** ==
966
967 **DRCR(P)**
968
969 Shift the 32-bit data of the device specified in (D) to the right by (N) bits with the carry flag included.
970
971 -[DRCR (D) (N)]
972
973 **Content, range and data type**
974
975 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
976 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift right|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
977 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift right|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
978
979 **Device used**
980
981 (% style="width:1487px" %)
982 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
983 **Pulse extension**
984 )))
985 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
986 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DRCR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
987 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
988
989 **Features**
990
991 ・The BIN 32-bit data of the device specified in (D) is shifted right by (N) bits with the carry flag included. The carry flag is in the ON or OFF state according to the state before DRCR(P) is executed.
992
993 (% style="text-align:center" %)
994 [[image:07-1 Basic instructions_html_f31c6b7fdef32870.gif||height="295" width="750"]]
995
996 (N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder value of (N)÷32 is shifted to the right. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit right shift is performed.
997
998 **Related device**
999
1000 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1001 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the lowest is 1.
1002
1003 ✎**Note: **
1004
1005 Do not set the number of bits (N) to turn right to a negative value.
1006
1007 In the case of continuous execution type instructions (DROR, DRCR), the right shift will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
1008
1009 **Error code**
1010
1011 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1012 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1013 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1014 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1015
1016 **Example**
1017
1018 (((
1019 After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. When M1=ON, the value in the D0 device is shifted right by 20 bits to get 12288.
1020
1021 (% style="text-align:center" %)
1022 [[image:07-1 Basic instructions_html_1fa431776b980f3.png]]
1023 )))
1024
1025 == **ROL/16-bit cycle shift left** ==
1026
1027 **ROL(P)**
1028
1029 Shift the 16-bit data of the device specified in (D) to the left by (N) bits without including the carry flag.
1030
1031 -[ROL (D) (N)]
1032
1033 **Content, range and data type**
1034
1035 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1036 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1037 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1038
1039 **Device used**
1040
1041 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)(((
1042 **Pulse extension**
1043 )))
1044 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1045 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)ROL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1046 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1047
1048 **Features**
1049
1050 ・The 16-bit data of the device specified in (D) is shifted to the left by (N) bits without including the carry flag. The carry flag is in the ON or OFF state according to the state before ROL(P) is executed.
1051
1052 (% style="text-align:center" %)
1053 [[image:07-1 Basic instructions_html_5368402e0b2f8d39.gif||height="426" width="750"]]
1054
1055 (N) Specify 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit left shift is performed.
1056
1057 **Related device**
1058
1059 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1060 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the highest is 1.
1061
1062 ✎**Note: **
1063
1064 Do not set the number of digits (N) shifted to the left to a negative value. In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
1065
1066 **Error code**
1067
1068 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1069 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1070 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1071 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1072
1073 (% style="text-align:center" %)
1074 [[image:07-1 Basic instructions_html_89015ce664980431.png]]
1075
1076 **Example**
1077
1078 Shift 1 in the D0 device to the left by 3 bits to get 8.
1079
1080 == **DROL/32-bit cycle shift left** ==
1081
1082 **DROL(P)**
1083
1084 Shift the 32-bit data of the device specified in (D) to the left by (N) bits without including the carry flag.
1085
1086 -[DROL (D) (N)]
1087
1088 **Content, range and data type**
1089
1090 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1091 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
1092 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
1093
1094 **Device used**
1095
1096 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1097 **Offset**
1098
1099 **modification**
1100 )))|(% style="text-align:center; vertical-align:middle" %)(((
1101 **Pulse extension**
1102 )))
1103 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1104 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DROL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1105 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1106
1107 **Features**
1108
1109 ・The 32-bit data of the device specified in (D) is shifted left by (N) bits without including the carry flag. The carry flag is on or off according to the state before DROL(P) is executed.
1110
1111 (% style="text-align:center" %)
1112 [[image:07-1 Basic instructions_html_74bd4947729181d8.gif||height="299" width="750"]]
1113
1114 (N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder of (N)÷32 is shifted to the left. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit left shift is performed.
1115
1116 **Related device**
1117
1118 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1119 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the highest is 1.
1120
1121 ✎**Note: **
1122
1123 Do not set the number of digits (N) shifted to the left to a negative value.
1124
1125 In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
1126
1127 **Error code**
1128
1129 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1130 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1131 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1132 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1133
1134 **Example**
1135
1136 (% style="text-align:center" %)
1137 [[image:07-1 Basic instructions_html_de83e097b4c3b47e.png]]
1138
1139 Shift 1 in the D0 device to the left by 3 bits to get 8.
1140
1141 == **RCL/16-bit cycle shift left with carry** ==
1142
1143 **RCL(P)**
1144
1145 Shift the 16-bit data of the device specified in (D) to the left by (N) bits with the carry flag included.
1146
1147 -[RCL (D) (N)]
1148
1149 **Content, range and data type**
1150
1151 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1152 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1153 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1154
1155 **Device used**
1156
1157 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1158 **Offset**
1159
1160 **modification**
1161 )))|(% style="text-align:center; vertical-align:middle" %)(((
1162 **Pulse extension**
1163 )))
1164 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1165 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)RCL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1166 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1167
1168 **Features**
1169
1170 ・The 16-bit data of the device specified in (D) is shifted (N) to the left with the carry flag included. The carry flag is on or off according to the state before RCL(P) is executed.
1171
1172 (% style="text-align:center" %)
1173 [[image:07-1 Basic instructions_html_1892ed00695d575b.gif||height="378" width="750"]]
1174
1175 (N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder value of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 and the remainder is 2, so a 2-bit left shift is performed.
1176
1177 **Related device**
1178
1179 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1180 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|It turns ON when the last bit shifted from the highest is 1.
1181
1182 ✎**Note: **
1183
1184 Do not set the number of digits (N) shifted to the left to a negative value. In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
1185
1186 **Error code**
1187
1188 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1189 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1190 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1191 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1192
1193 **Example**
1194
1195 (% style="text-align:center" %)
1196 [[image:07-1 Basic instructions_html_d67374659afd2d4c.png]]
1197
1198 (((
1199 After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1.
1200
1201 When M1=ON, move the value in the D0 device with carry to the left by 4 bits to get 24.
1202 )))
1203
1204 == **DRCL/32-bit cycle shift left with carry** ==
1205
1206 **DRCL(P)**
1207
1208 Move the 32-bit data of the device specified in (D) to the left by (N) bits with the carry flag included.
1209
1210 -[DRCL (D) (N)]
1211
1212 **Content, range and data type**
1213
1214 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1215 |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number for cycle shift left|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
1216 |(% style="text-align:center; vertical-align:middle" %)(N)|The number of times to cycle shift left|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32
1217
1218 **Device used**
1219
1220 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1221 **Offset**
1222
1223 **modification**
1224 )))|(% style="text-align:center; vertical-align:middle" %)(((
1225 **Pulse extension**
1226 )))
1227 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1228 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DRCL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1229 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1230
1231 **Features**
1232
1233 The 32-bit data of the device specified in (D) is shifted (N) to the left with the carry flag included. The carry flag is on or off according to the state before RCL(P) is executed.
1234
1235 (% style="text-align:center" %)
1236 [[image:07-1 Basic instructions_html_7d7d803db3bbba9e.gif||height="344" width="750"]]
1237
1238 (N) Specifies 0 to 31. When a value of 32 or more is specified in (N), the remainder of (N)÷32 is shifted to the left. For example, when (N)=34, 34÷32=1 and the remainder is 2, so a 2-bit left shift is performed.
1239
1240 **Related device**
1241
1242 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1243 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|Turns ON when the last bit shifted from the highest is 1.
1244
1245 ✎**Note: **
1246
1247 Do not set the number of digits (N) shifted to the left to a negative value. In the case of continuous execution type instructions (ROL, RCL), the shift to the left will be executed every scan time (operation cycle), so be careful. When specifying the number of digits to specify the device in (D), only K4 (16-bit instruction) or K8 (32-bit instruction) is valid. (For example, K4Y10, K8M0).
1248
1249 **Error code**
1250
1251 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1252 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1253 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1254 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1255
1256 **Example**
1257
1258 (% style="text-align:center" %)
1259 [[image:07-1 Basic instructions_html_8c7837da92e4e984.png]]
1260
1261 (((
1262 After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1. When M1=ON, carry the value in the D0 device to the left by 4 bits to get 24.
1263 )))
1264
1265 == **SFTR/n-bit shift right of n-bit data** ==
1266
1267 **SFTR(P)**
1268
1269 Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right.
1270
1271 -[SFTR (S) (D) (N1) (N2)]
1272
1273 **Content, range and data type**
1274
1275 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1276 |(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing the shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1277 |(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1278 |(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1279 |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1280
1281 **Device used**
1282
1283 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="17" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1284 **Offset modification**
1285 )))|(% style="text-align:center; vertical-align:middle" %)(((
1286 **Pulse extension**
1287 )))
1288 |(% style="text-align:center; vertical-align:middle" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle; width:39px" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1289 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle; width:39px" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1290 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle; width:39px" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1291 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle; width:39px" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1292 |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle; width:39px" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1293
1294 **Features**
1295
1296 Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right. After shifting, the point (N2) starting from (S) is transferred to the point (N2) starting from (D) + (N1 to N2).
1297
1298 When K0 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 0.
1299
1300 When K1 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 1.
1301
1302 (% style="text-align:center" %)
1303 [[image:07-1 Basic instructions_html_778995c9037fe76c.png||height="272" width="750"]]
1304
1305 (1): When (S)=K0, it becomes 0.
1306
1307 **Error code**
1308
1309 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1310 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767
1311 |When the value specified in (N1) and (N2) is (N1)<(N2)
1312 |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range
1313 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1314
1315 **Example**
1316
1317 For N1=9 bits (the length of the shift register) data starting with M0, right shift N2=3 bits. After shifting, transfer N2=3 bits from Y0 to N2=3 bits from M6.
1318
1319 (% style="text-align:center" %)
1320 [[image:07-1 Basic instructions_html_85a1e316f5176368.png]]
1321
1322
1323 (% style="text-align:center" %)
1324 [[image:07-1 Basic instructions_html_9e770240b084beb6.png||height="360" width="750"]]
1325
1326 == **SFTL/n-bit shift left of n-bit data** ==
1327
1328 **SFTL(P)**
1329
1330 Shift the start (N1) bit data of the device specified in (D) to the left by (N2) bits.
1331
1332 -[SFTL (S) (D) (N1) (N2)]
1333
1334 **Content, range and data type**
1335
1336 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1337 |(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1338 |(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1339 |(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1340 |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1341
1342 **Device used**
1343
1344 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="17" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1345 **Offset modification**
1346 )))|(% style="text-align:center; vertical-align:middle" %)(((
1347 **Pulse extension**
1348 )))
1349 |(% style="text-align:center; vertical-align:middle" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1350 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1351 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1352 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1353 |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1354
1355 **Features**
1356
1357 Shift (N2) bits of the data at the beginning (N1) bits of the device specified in (D). After shifting, the point (N2) starting from (S) is transferred to the point (N2) starting from (D) + (N1 to N2).
1358
1359 When K0 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 0.
1360
1361 When K1 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 1.
1362
1363 (% style="text-align:center" %)
1364 [[image:07-1 Basic instructions_html_2452b20d324148ed.png]]
1365
1366 (1): When (S)=K0, it becomes 0.
1367
1368 **Error code**
1369
1370 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1371 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767
1372 |When the value specified in (N1) and (N2) is (N1)<(N2)
1373 |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range
1374 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1375
1376 **Example**
1377
1378 Example 1:
1379
1380 (% style="text-align:center" %)
1381 [[image:07-1 Basic instructions_html_61b990c421d1a4a7.gif]]
1382
1383 Example 2:
1384
1385 (% style="text-align:center" %)
1386 [[image:07-1 Basic instructions_html_bd3ff3ff98e5f38b.gif]]
1387
1388 == **WSFR/n-word shift right of n-word data** ==
1389
1390 **WSFR(P)**
1391
1392 Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right.
1393
1394 -[WSFR (S) (D) (N1) (N2)]
1395
1396 **Content, range and data type**
1397
1398 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1399 |(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1400 |(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1401 |(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1402 |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1403
1404 **Device used**
1405
1406 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1407 **Offset modification**
1408 )))|(% style="text-align:center; vertical-align:middle" %)(((
1409 **Pulse extension**
1410 )))
1411 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1412 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1413 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1414 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1415 |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1416
1417 **Features**
1418
1419 Shift (N2) the data of the beginning (N1) word of the device specified in (D) to the right. After shifting, the point (N2) starting from (S) is transferred to the point (N2) starting from (D) + (N1 to N2).
1420
1421 When K is specified in (S), the device at (D) + (N1 to N2) starting (N2) point after shifting is set to the specified value.
1422
1423 If the value specified in (N1) or (N2) is 0, it will be no processing.
1424
1425 (% style="text-align:center" %)
1426 [[image:07-1 Basic instructions_html_186497250d881d1e.png]]
1427
1428 **Error code**
1429
1430 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1431 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767
1432 |When the value specified in (N1) and (N2) is (N1)<(N2)
1433 |When (S) and (D) both specify KnM, KnX, and KnS, the value of n varies.
1434 |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range
1435 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1436
1437 **Example**
1438
1439 (S) and (D) specify the same multiple in the digit specified device. This program realizes to shift Y0 to Y7 bits right, shift Y10 to Y17 right to Y0 to Y7, and then store X0 to X7 to Y10 to Y17.
1440
1441 (((
1442 (% style="text-align:center" %)
1443 [[image:07-1 Basic instructions_html_f99e795f9d56f9e7.png]]
1444 )))
1445
1446 (% style="text-align:center" %)
1447 [[image:07-1 Basic instructions_html_f7dcb25bd25f0722.png]]
1448
1449 == **WSFL/n-word shift left of n-word data** ==
1450
1451 **WSFL(P)**
1452
1453 Shift the start (N1) bit data of the device specified in (D) to the left by (N2) bits.
1454
1455 -[WSFL (S) (D) (N1) (N2)]
1456
1457 **Content, range and data type**
1458
1459 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1460 |(% style="text-align:center; vertical-align:middle" %)(S)|The start number of the device storing shifted data after shifting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1461 |(% style="text-align:center; vertical-align:middle" %)(D)|The shifted device start number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Word|(% style="text-align:center; vertical-align:middle" %)ANY_BOOL
1462 |(% style="text-align:center; vertical-align:middle" %)(N1)|The length of shifted data|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1463 |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1464
1465 **Device used**
1466
1467 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1468 **Offset modification**
1469 )))|(% style="text-align:center; vertical-align:middle" %)(((
1470 **Pulse extension**
1471 )))
1472 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1473 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)SFTR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1474 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1475 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1476 |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1477
1478 **Features**
1479
1480 Shift (N2) the data of the beginning (N1) word of the device specified in (D) to the left. After shifting, transfer the point (N2) starting from (S) to the point (N2) starting from (D).
1481
1482 When K is specified in (S), the device at (D) + (N1 to N2) starting (N2) point after shifting is set to the specified value.
1483
1484 If the value specified in (N1) or (N2) is 0, it will be no processing.
1485
1486 (% style="text-align:center" %)
1487 [[image:07-1 Basic instructions_html_a509153078ca2436.png]]
1488
1489 **Error Code**
1490
1491 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1492 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) and (N2) exceeds the range of 0 to 32767
1493 |When the value specified in (N1) and (N2) is (N1)<(N2)
1494 |When (S) and (D) both specify KnM, KnX, and KnS, the value of n varies.
1495 |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instructions (S), (D), (N1) and (N2) exceeds the corresponding device range
1496 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1497
1498 **Example**
1499
1500 (S), (D) Do the same multiple specification in the digit specification device. This program realizes to remove the high bits of Y10 to Y17 left, move Y0 to Y7 left to Y10 to Y17, and then store X0 to X7 to Y0 to Y7.
1501
1502 (% style="text-align:center" %)
1503 [[image:07-1 Basic instructions_html_a4e71d25b50b076.png||height="48" width="484"]]
1504
1505 (% style="text-align:center" %)
1506 [[image:07-1 Basic instructions_html_4e6d2d500872e021.png]]
1507
1508 == **SFR/n-bit shift right of 16-bit data** ==
1509
1510 **SFR(P)**
1511
1512 Shift the 16-bit data of the device specified in (D) right by (N) bits.
1513
1514 -[SFR (D) (N)]
1515
1516 **Content, range and data type**
1517
1518 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1519 |(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1520 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0-15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1521
1522 **Device used**
1523
1524 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle; width:192px" %)(((
1525 **Offset modification**
1526 )))|(% style="text-align:center; vertical-align:middle; width:167px" %)(((
1527 **Pulse extension**
1528 )))
1529 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle; width:192px" %)**[D]**|(% style="text-align:center; vertical-align:middle; width:167px" %)**XXP**
1530 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)SFR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle; width:192px" %)●|(% style="text-align:center; vertical-align:middle; width:167px" %)●
1531 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle; width:192px" %)●|(% style="text-align:center; vertical-align:middle; width:167px" %)●
1532
1533 **Features**
1534
1535 When (N)=6
1536
1537 (((
1538 Shift the 16-bit data of the device specified in (D) to the right (N) bits from the highest bit. The (N) bit from the most significant bit will become 0.
1539
1540 (% style="text-align:center" %)
1541 [[image:07-1 Basic instructions_html_5bdb37dbc5728fee.png]]
1542 )))
1543
1544 (((
1545 When (N)=6
1546
1547 When a bit device is specified in (d), the device range specified in the digit specification is shifted to the right.
1548
1549 (% style="text-align:center" %)
1550 [[image:07-1 Basic instructions_html_96855867e2605ca6.png]]
1551 )))
1552
1553 (N) Specifies 0 to 15. When a value of 16 or more is specified in (N), the remainder of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 and the remainder 2, so it is shifted by 2 bits to the right.
1554
1555 **Related device&nbsp;**
1556
1557 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1558 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|(% style="text-align:center; vertical-align:middle" %)Set to ON/OFF according to the state of N-1 bit (1/0)
1559
1560 **Error code**
1561
1562 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1563 |(% style="text-align:center; vertical-align:middle" %)4084H|(% style="text-align:center; vertical-align:middle" %)A negative value is specified in (N).
1564 |(% style="text-align:center; vertical-align:middle" %)4085H|(% style="text-align:center; vertical-align:middle" %)The output results of (D) and (N) in the read application instruction exceed the device range
1565 |(% style="text-align:center; vertical-align:middle" %)4086H|(% style="text-align:center; vertical-align:middle" %)The output result of (D) in the write application instruction exceeds the device range
1566
1567 **Example**
1568
1569 When M1 is ON, the contents of Y10 to Y23 are shifted to the right by the number of digits specified in D0.
1570
1571 [[image:07-1 Basic instructions_html_b494c5db2a53883.png]] [[image:07-1 Basic instructions_html_a308a0cf2c4950c1.png]]
1572
1573 == **DSFR/n word data shift right by 1 word** ==
1574
1575 **DSFR(P)**
1576
1577 Shift the data at the start (N) point of the device specified in (D) to the right by 1 word.
1578
1579 -[DSFR (D) (N)]
1580
1581 **Content, range and data type**
1582
1583 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1584 |(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1585 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1586
1587 **Device used**
1588
1589 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1590 **Offset**
1591
1592 **modification**
1593 )))|(% style="text-align:center; vertical-align:middle" %)(((
1594 **Pulse**
1595
1596 **extension**
1597 )))
1598 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1599 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DSFR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1600 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1601
1602 **Features**
1603
1604 • Shift the data at the start (N) point of the device specified in (D) by 1 word to the right.
1605
1606 (% style="text-align:center" %)
1607 [[image:07-1 Basic instructions_html_9b4706f3a93a923d.png]]
1608
1609 • The device specified in (D)+(N-1) will become 0.
1610
1611 ✎**Note: ** In (D), when specifying the device number by specifying the number of bits of the bit device, the device number should be a multiple of 16 (0, 16, 32, 64...), and only K4 should be specified for the number of bits. When the number of bits is not K4, K4 is used for processing.
1612
1613 **Error code**
1614
1615 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1616 |(% style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N) exceeds the range of 0 to 32767
1617 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1618 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1619
1620 **Example**
1621
1622 When M1 is ON, shift the contents of D0 to D4 to the right by 1 word (D1→D0, D2→D1, D3→D2, D4→D3, D4 is set to 0).
1623
1624 (% style="text-align:center" %)
1625 [[image:07-1 Basic instructions_html_5004760ff8588365.png]]
1626
1627 Before execution:
1628
1629 (% style="text-align:center" %)
1630 [[image:07-1 Basic instructions_html_1eb1609e763f4148.png]]
1631
1632 After execution:
1633
1634 (% style="text-align:center" %)
1635 [[image:07-1 Basic instructions_html_5216051d84602b3b.png]]
1636
1637 == **SFL/n-bit shift left of 16-bit data** ==
1638
1639 **SFL(P)**
1640
1641 Shift the 16-bit data of the device specified in (D) to the left by (N) bits.
1642
1643 -[SFL (D) (N)]
1644
1645 **Content, range and data type**
1646
1647 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1648 |(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1649 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1650
1651 **Device used**
1652
1653 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1654 **Offset modification**
1655 )))|(% style="text-align:center; vertical-align:middle" %)(((
1656 **Pulse extension**
1657 )))
1658 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1659 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)SFL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1660 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1661
1662 **Features**
1663
1664 Shift the 16-bit data of the device specified in (D) to the left (N) bits from the lowest bit. The (N) bit from the lowest bit will become 0.
1665
1666 (% style="text-align:center" %)
1667 [[image:07-1 Basic instructions_html_951616bfba57e18e.png]]
1668
1669 When (N)=8, it is as follows.
1670
1671 When a bit device is specified in (D), the left shift is performed in the device range specified in the digit specification.
1672
1673 (% style="text-align:center" %)
1674 [[image:07-1 Basic instructions_html_eae27c0dbdbe62d5.png]]
1675
1676 When (N)=3, it is as follows.
1677
1678 (N) Specify 0 to 15. When a value of 16 or more is specified in (N), the remainder of (N)÷16 is shifted to the left. For example, when (N)=18, 18÷16=1 remainder 2, so it is shifted by 2 bits to the left.
1679
1680 **Related device&nbsp;**
1681
1682 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1683 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|Turn ON/OFF according to the state of N+1 bit (1/0)
1684
1685 **Error code**
1686
1687 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1688 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1689 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1690 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1691
1692 **Example**
1693
1694 When M1 is ON, the contents of Y10 to Y17 are shifted to the left by the number of digits specified in D0.
1695
1696 (% style="text-align:center" %)
1697 [[image:07-1 Basic instructions_html_7691a6d01a769c9.png]]
1698
1699 (% style="text-align:center" %)
1700 [[image:07-1 Basic instructions_html_33c23e6059974f03.png||height="328" width="750"]]
1701
1702 == **DSFL/one word shift left of n word data** ==
1703
1704 **DSFL(P)**
1705
1706 Move the data at the beginning (N) point of the device specified in (D) by 1 word to the left.
1707
1708 -[DSFL (D) (N)]
1709
1710 **Content, range and data type**
1711
1712 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1713 |(% style="text-align:center; vertical-align:middle" %)(D)|The start number of the device storing the shifted data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1714 |(% style="text-align:center; vertical-align:middle" %)(N)|Number of shifts|(% style="text-align:center; vertical-align:middle" %)0 to 32,767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16
1715
1716 **Device used**
1717
1718 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1719 **Offset modification**
1720 )))|(% style="text-align:center; vertical-align:middle" %)(((
1721 **Pulse extension**
1722 )))
1723 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1724 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DSFL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1725 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1726
1727 **Features**
1728
1729 Shift the data at the start (N) point of the device specified in (D) to the left by 1 word.
1730
1731 (% style="text-align:center" %)
1732 [[image:07-1 Basic instructions_html_241c4b63f7501375.png||height="288" width="750"]]
1733
1734 The device specified in (D) will become 0.
1735
1736 ✎**Note: ** In (D), when specifying the device number by specifying the number of bits of the bit device, the device number should be a multiple of 16 (0, 16, 32, 64...), and only K4 should be specified for the number of bits. When the number of bits is not K4, K4 is used for processing.
1737
1738 **Error code**
1739
1740 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1741 |(% style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N) exceeds the range of 0 to 32,767
1742 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1743 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1744
1745 **Example**
1746
1747 When M1 is ON, shift the contents of D0 to D4 to the left by 1 word (D3→D4, D2→D3, D1→D2, D0→D1, D0 is set to 0).
1748
1749 (% style="text-align:center" %)
1750 [[image:07-1 Basic instructions_html_cadd6fc71e7fe42a.png]]
1751
1752 Before execution:
1753
1754 (% style="text-align:center" %)
1755 [[image:07-1 Basic instructions_html_5ac57ffad96aebb3.png]]
1756
1757 After execution:
1758
1759 (% style="text-align:center" %)
1760 [[image:07-1 Basic instructions_html_228be72e17120f3b.png]]
1761
1762 = **Arithmetic operation instructions** =
1763
1764 == **ADD/16-bit addition operation** ==
1765
1766 **ADD(P)**
1767
1768 Add the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result in the device specified in (D).
1769
1770 -[ADD (S1) (S2) (D)]
1771
1772 **Content, range and data type**
1773
1774 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1775 |(% style="text-align:center; vertical-align:middle" %)(S1)|Addition operation data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
1776 |(% style="text-align:center; vertical-align:middle" %)(S2)|Addition operation data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
1777 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing operation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
1778
1779 **Device used**
1780
1781 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1782 **Offset modification**
1783 )))|(% style="text-align:center; vertical-align:middle" %)(((
1784 **Pulse extension**
1785 )))
1786 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1787 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)ADD|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1788 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1789 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1790
1791 **Features**
1792
1793 Add the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result of the addition in the device specified in (D).
1794
1795 (% style="text-align:center" %)
1796 [[image:07-1 Basic instructions_html_8e14b2921161f2d9.png]]
1797
1798 **Related device&nbsp;**
1799
1800 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1801 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 32,767, the carry flag will be (ON).
1802 |(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -32,768, the borrow flag will be (ON).
1803 |(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be (ON).
1804
1805 (% style="text-align:center" %)
1806 [[image:07-1 Basic instructions_html_f7e7b9fa9918e937.png]]
1807
1808 ✎**Note: **
1809
1810 1.When the source operand and destination operand are specified as the same device:
1811
1812 The source operand and destination operand can also be specified as the same device number.
1813
1814 In this case, if you use continuous execution instructions (ADD, DADD), the result of the addition operation will change every operation cycle.
1815
1816 2.The difference between the ADD instruction and the INC instruction using the +1 addition operation program:
1817
1818 ADD[P] means that every time X001 changes from OFF to ON, the content of D0 is added by one operation.
1819
1820 Although this instruction is very similar to the INCP instruction described later, there are some differences in the following content.
1821
1822 |(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**ADD/ADDP/DADD/DADDP instructions**|(% style="text-align:center; vertical-align:middle" %)**INC/INCP/DINC/DINCP instructions**
1823 |(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action**
1824 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1825 16-bit
1826
1827 operation result
1828 )))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (D)|(% style="text-align:center; vertical-align:middle" %)32767 → 0 → +1 → +2 →|(% style="text-align:center; vertical-align:middle" %)32767→-32768→-32767
1829 |(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (D)|(% style="text-align:center; vertical-align:middle" %)← -2 ← -1 ← 0 ← -32768|(% style="text-align:center; vertical-align:middle" %)——
1830 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1831 32-bit
1832
1833 operation result
1834 )))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (D)|(% style="text-align:center; vertical-align:middle" %)2147483647 → 0 → +1 → +2 →|(% style="text-align:center; vertical-align:middle" %)2147483647 → -2147483648→ -2147483647
1835 |(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (D)|(% style="text-align:center; vertical-align:middle" %)← -2 ← -1 ← 0 ← -2147483648|(% style="text-align:center; vertical-align:middle" %)——
1836
1837 **Error code**
1838
1839 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1840 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
1841 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1842
1843 **Example**
1844
1845 (% style="text-align:center" %)
1846 [[image:07-1 Basic instructions_html_c88107d9dc85e273.png]]
1847
1848 Add 10 to the data in (D0), and store the operation result in (D2), that is, (D0) + 10 → (D2).
1849
1850 == **DADD/32-bit addition operation** ==
1851
1852 **DADD(P)**
1853
1854 Add the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result in the device specified in (D).
1855
1856 -[DADD (S1) (S2) (D)]
1857
1858 **Content, range and data type**
1859
1860 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1861 |(% style="text-align:center; vertical-align:middle" %)(S1)|Addition data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
1862 |(% style="text-align:center; vertical-align:middle" %)(S2)|Addition data or the device storing the addition data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
1863 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing operation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
1864
1865 **Device used**
1866
1867 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1868 **Offset modification**
1869 )))|(% style="text-align:center; vertical-align:middle" %)(((
1870 **Pulse extension**
1871 )))
1872 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1873 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DADD|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1874 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1875 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1876
1877 **Features**
1878
1879 Add the BIN32-bit data specified in (s1) and the BIN32-bit data specified in (s2), and store the result of the addition in the device specified in (d).
1880
1881 (% style="text-align:center" %)
1882 [[image:07-1 Basic instructions_html_97cb91594c5ae7e4.png]]
1883
1884 **Related device&nbsp;**
1885
1886 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1887 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 32,767, the carry flag will be (ON).
1888 |(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -32,768, the borrow flag will be (ON).
1889 |(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be (ON).
1890
1891 (% style="text-align:center" %)
1892 [[image:07-1 Basic instructions_html_1e2ca6723b868fb4.png]]
1893
1894 ✎**Note: **
1895
1896 ~1. When the source operand and destination operand are specified as the same device:
1897
1898 The source operand and destination operand can also be specified as the same device number.
1899
1900 In this case, if you use continuous execution instructions (ADD, DADD), the result of the addition operation will change every operation cycle. Please note.
1901
1902 2. The difference between the ADD instruction and the INC instruction using the +1 addition operation program:
1903
1904 ADD[P] means that every time X001 changes from OFF to ON, the content of D0 is added by one operation.
1905
1906 Although this instruction is very similar to the INCP instruction described later, there are some differences in the following content.
1907
1908 |(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**ADD/ADDP/DADD/DADDP instructions**|(% style="text-align:center; vertical-align:middle" %)**INC/INCP/DINC/DINCP instructions**
1909 |(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action**
1910 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1911 16-bit
1912
1913 Operation result
1914 )))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (d)|(% style="text-align:center; vertical-align:middle" %)32767→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)32767→-32768→-32767
1915 |(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (d)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-32768|(% style="text-align:center; vertical-align:middle" %)——
1916 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1917 33-Bit
1918
1919 operation result
1920 )))|(% style="text-align:center; vertical-align:middle" %)(S) + (+1) = (d)|(% style="text-align:center; vertical-align:middle" %)2147483647→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)2147483647→-2147483648→-2147483647
1921 |(% style="text-align:center; vertical-align:middle" %)(S) + (-1) = (d)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-2147483648|(% style="text-align:center; vertical-align:middle" %)——
1922
1923 **Error code**
1924
1925 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1926 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
1927 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1928
1929 **Example**
1930
1931 (% style="text-align:center" %)
1932 [[image:07-1 Basic instructions_html_de63c4a952dfb6d.png]]
1933
1934 Add 100000 to the data in (D1, D0), and store the result of the operation in (D3, D2), that is, (D1, D0) + 100000 → (D3, D2).
1935
1936 == **SUB/16-bit subtraction operation** ==
1937
1938 **SUB(P)**
1939
1940 Subtract the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result in the device specified in (D).
1941
1942 -[SUB (S1) (S2) (D)]
1943
1944 **Content, range and data type**
1945
1946 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
1947 |(% style="text-align:center; vertical-align:middle" %)(S1)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
1948 |(% style="text-align:center; vertical-align:middle" %)(S2)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
1949 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S
1950
1951 **Device used**
1952
1953 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
1954 **Offset modification**
1955 )))|(% style="text-align:center; vertical-align:middle" %)(((
1956 **Pulse extension**
1957 )))
1958 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
1959 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)SUB|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1960 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1961 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
1962
1963 **Features**
1964
1965 Subtract the BIN 16-bit data specified in (S1) and the BIN 16-bit data specified in (S2), and store the result of the operation in the device specified in (D).
1966
1967 (% style="text-align:center" %)
1968 [[image:07-1 Basic instructions_html_cbd3a6fd4cb00b65.png]]
1969
1970 **Related device&nbsp;**
1971
1972 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1973 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 32,767, the carry flag will be (ON).
1974 |(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -32,768, the borrow flag will be (ON).
1975 |(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be (ON).
1976
1977 (% style="text-align:center" %)
1978 [[image:07-1 Basic instructions_html_ac1f8acda3746b1d.png]]
1979
1980 ✎**Note: **
1981
1982 ~1. When the source operand and destination operand are specified as the same device:
1983
1984 The source operand and destination operand can also be specified as the same device number.
1985
1986 In this case, if continuous execution type instructions (SUB, DSUB) are used, the result of the subtraction operation will change every operation cycle. Please be careful.
1987
1988 2. The difference between the SUB(P) instruction and the -(P) instruction and DEC(P) instruction executed by the -1 subtraction program
1989
1990 SUB(P) instruction every time X1 changes from OFF to ON, the program of D0 content -1 is similar to -(P) instruction and DEC(P) instruction described later, but the following contents are different.
1991
1992 |(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**SUB/SUBP/DSUB/DSUBP instructions**|(% style="text-align:center; vertical-align:middle" %)**DEC/DECP/DDEC/DDECP instructions**
1993 |(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action**
1994 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)16-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-32768|(% style="text-align:center; vertical-align:middle" %)-32768→+32767→32766
1995 |(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)+32767→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)——
1996 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)32-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-2147483648|(% style="text-align:center; vertical-align:middle" %)-2147483648→2147483647→2147483646
1997 |(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)2147483647→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)——
1998
1999 **Error code**
2000
2001 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2002 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2003 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2004
2005 **Example**
2006
2007 (% style="text-align:center" %)
2008 [[image:07-1 Basic instructions_html_bda57d807670bde2.png||height="74" width="372"]]
2009
2010 Subtract 10 from the data in D0, and store the calculation result in D2, that is, (D0)-10 → (D2).
2011
2012 == **DSUB/32-bit subtraction operation** ==
2013
2014 **DSUB(P)**
2015
2016 Subtract the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result in the device specified in (D).
2017
2018 -[DSUB (S1) (S2) (D)]
2019
2020 **Content, range and data type**
2021
2022 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2023 |(% style="text-align:center; vertical-align:middle" %)(S1)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2024 |(% style="text-align:center; vertical-align:middle" %)(S2)|The subtraction data or the device storing the subtraction data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2025 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2026
2027 **Device used**
2028
2029 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2030 **Offset modification**
2031 )))|(% style="text-align:center; vertical-align:middle" %)(((
2032 **Pulse extension**
2033 )))
2034 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2035 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DSUB|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2036 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2037 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2038
2039 **Features**
2040
2041 Subtract the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result of the operation in the device specified in (D).
2042
2043 (% style="text-align:center" %)
2044 [[image:07-1 Basic instructions_html_f37d57bb2a3d8fad.png]]
2045
2046 Related device
2047
2048 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
2049 |(% style="text-align:center; vertical-align:middle" %)SM151|(% style="text-align:center; vertical-align:middle" %)Carry|When the operation result exceeds 2,147,483,647, the carry flag will be ON.
2050 |(% style="text-align:center; vertical-align:middle" %)SM152|(% style="text-align:center; vertical-align:middle" %)Borrow|When the operation result is less than -2,147,483,648, the borrow flag will be ON.
2051 |(% style="text-align:center; vertical-align:middle" %)SM153|(% style="text-align:center; vertical-align:middle" %)Zero point|When the operation result is 0, the zero flag will be ON.
2052
2053 (% style="text-align:center" %)
2054 [[image:07-1 Basic instructions_html_f61b250c2dec5a2c.png]]
2055
2056 ✎**Note: **
2057
2058 ~1. When the source operand and destination operand are specified as the same device:
2059
2060 The source operand and destination operand can also be specified as the same device number.
2061
2062 In this case, if continuous execution type instructions (SUB, DSUB) are used, the result of the subtraction operation will change every operation cycle. Please be careful.
2063
2064 2. The difference between the SUB(P) instruction and the -(P) instruction and DEC(P) instruction executed by the -1 subtraction program
2065
2066 SUB(P) instruction every time X1 changes from OFF to ON, the program of D0 content -1 is similar to -(P) instruction and DEC(P) instruction described later, but the following contents are different.
2067
2068 |(% colspan="3" style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**SUB/SUBP/DSUB/DSUBP instructions**|(% style="text-align:center; vertical-align:middle" %)**DEC/DECP/DDEC/DDECP instructions**
2069 |(% colspan="3" style="text-align:center; vertical-align:middle" %)**Flag bit (zero, borrow, carry)**|(% style="text-align:center; vertical-align:middle" %)**Action**|(% style="text-align:center; vertical-align:middle" %)**No action**
2070 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)16-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-32768|(% style="text-align:center; vertical-align:middle" %)-32768→32767→32766
2071 |(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)+32767→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)——
2072 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)32-bit operation result|(% style="text-align:center; vertical-align:middle" %)(S)-(+1)=(D)|(% style="text-align:center; vertical-align:middle" %)←-2←-1←0←-2147483648|(% style="text-align:center; vertical-align:middle" %)-2147483648→2147483647→2147483646
2073 |(% style="text-align:center; vertical-align:middle" %)(S)-(-1)=(D)|(% style="text-align:center; vertical-align:middle" %)+2147483647→0→+1→+2→|(% style="text-align:center; vertical-align:middle" %)——
2074
2075 **Error code**
2076
2077 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2078 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2079 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2080
2081 **Example**
2082
2083 (% style="text-align:center" %)
2084 [[image:07-1 Basic instructions_html_e0a9b7ee38c72d67.png||height="77" width="447"]]
2085
2086 Subtract 100000 from the data in (D1,D0), and store the result of the operation in (D3,D2), that is, (D1,D0)-10000 → (D3,D2).
2087
2088 == **MUL/16-bit multiplication** ==
2089
2090 **MUL(P)**
2091
2092 Multiply the BIN16 bits specified in (S1) with the BIN16 bits specified in (S2), and store the result in the device specified in (D).
2093
2094 -[MUL (S1) (S2) (D)]
2095
2096 **Content, range and data type**
2097
2098 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2099 |(% style="text-align:center; vertical-align:middle" %)(S1)|Multiplication operation data or the device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S
2100 |(% style="text-align:center; vertical-align:middle" %)(S2)|Multiplication operation data or the device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S
2101 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2102
2103 **Device used**
2104
2105 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2106 **Offset modification**
2107 )))|(% style="text-align:center; vertical-align:middle" %)(((
2108 **Pulse extension**
2109 )))
2110 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2111 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)MUL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2112 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2113 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2114
2115 **Features**
2116
2117 Multiply the BIN 16-bit data specified in (S1) with the BIN 16-bit data specified in (S2), and store the result of the operation in the device specified in (D).
2118
2119 (% style="text-align:center" %)
2120 [[image:07-1 Basic instructions_html_7bc795b98291521f.png]]
2121
2122 (D) is the multiplication result in the case of bit device
2123
2124 • K1: lower 4 bits (B0 to B3)
2125
2126 • K4: Lower 16 bits (B0 to B15)
2127
2128 • K8: Lower 32 bits (B0 to B31)
2129
2130 **Error code**
2131
2132 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2133 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2134 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2135
2136 **Example**
2137
2138 [[image:07-1 Basic instructions_html_a72970708460f454.png||height="71" width="378"]]
2139
2140 Multiply the data in (D0) by (D2), and store the operation result in (D5, D4), that is, (D0) × (D2) → (D5, D4).
2141
2142 == **DMUL/32-bit multiplication** ==
2143
2144 **DMUL(P)**
2145
2146 Multiply the 32-bit BIN specified in (S1) and the 32-bit BIN specified in (S2), and store the result in the device specified in (D).
2147
2148 -[DMUL (S1) (S2) (D)]
2149
2150 **Content, range and data type**
2151
2152 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2153 |(% style="text-align:center; vertical-align:middle" %)(S1)|Multiplication operation data or device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2154 |(% style="text-align:center; vertical-align:middle" %)(S2)|Multiplication operation data or device storing multiplication operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2155 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN64 bit|(% style="text-align:center; vertical-align:middle" %)ANY64_S
2156
2157 **Device used**
2158
2159 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2160 **Offset modification**
2161 )))|(% style="text-align:center; vertical-align:middle" %)(((
2162 **Pulse extension**
2163 )))
2164 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2165 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DMUL|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2166 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2167 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2168
2169 **Features**
2170
2171 Multiply the BIN32-bit data specified in (S1) and the BIN32-bit data specified in (S2), and store the result of the operation in the device specified in (D).
2172
2173 (% style="text-align:center" %)
2174 [[image:07-1 Basic instructions_html_1d28943293a84978.png]]
2175
2176 (D) is the multiplication result in the case of bit device
2177
2178 • K1: lower 4 bits (B0 to B3)
2179
2180 • K4: Lower 16 bits (B0 to B15)
2181
2182 • K8: Lower 32 bits (B0 to B31)
2183
2184 **Error code**
2185
2186 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2187 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2188 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2189
2190 **Example**
2191
2192 (% style="text-align:center" %)
2193 [[image:07-1 Basic instructions_html_d0ed498dee1bbd2b.png||height="70" width="356"]]
2194
2195 Multiply the data in (D1, D0) by (D3, D2), and store the result of the operation in ((D7, D6), (D5, D4)), ie (D1, D0) × (D3, D2) → ((D7, D6), (D5, D4)).
2196
2197 == **DIV/16-bit division operation** ==
2198
2199 **DIV(P)**
2200
2201 Divide the BIN 16-bit data specified in (S1) with the BIN 16-bit data specified in (S2), and store the result in the device specified in (D).
2202
2203 -[DIV (S1) (S2) (D)]
2204
2205 **Content, range and data type**
2206
2207 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2208 |(% style="text-align:center; vertical-align:middle" %)(S1)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S
2209 |(% style="text-align:center; vertical-align:middle" %)(S2)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S
2210 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2211
2212 **Device used**
2213
2214 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2215 **Offset modification**
2216 )))|(% style="text-align:center; vertical-align:middle" %)(((
2217 **Pulse extension**
2218 )))
2219 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2220 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DIV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2221 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2222 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2223
2224 **Features**
2225
2226 Divide the BIN 16-bit data specified in (S1) with the BIN 16-bit data specified in (S2), and store the result of the operation in the device specified in (D).
2227
2228 (% style="text-align:center" %)
2229 [[image:07-1 Basic instructions_html_5b6a7b9968539f80.png]]
2230
2231 In the case of a word device, the division result uses a 32-bit storage quotient and remainder, and in the case of a bit device, only a 16-bit storage quotient is used.
2232
2233 • Quotient is stored in the lower 16 bits.
2234
2235 • The remainder is stored in the upper 16 bits. (Can only be stored in the case of word devices.)
2236
2237 ✎**Note**
2238
2239 ~1. About the opearation result
2240
2241 • The highest bit of the quotient and remainder represents the sign of positive (0) and negative (1).
2242
2243 • When one of (S1) or (S2) is negative, the quotient becomes negative. When (S1) is negative, the remainder becomes negative.
2244
2245 2. The device specified by (D)
2246
2247 • With the digit specification function, when specifying a bit device, the remainder cannot be obtained.
2248
2249 **Error code**
2250
2251 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2252 |(% style="text-align:center; vertical-align:middle" %)4080H|The input of divisor (S2) is 0
2253 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2254 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2255
2256 **Example**
2257
2258 (% style="text-align:center" %)
2259 [[image:07-1 Basic instructions_html_7966aef8d2143e29.png]]
2260
2261 Divide the data in (D0) by (D2), and store the result of the calculation: the quotient is stored in (D4), and the remainder is stored in (D5), ie (D0)/ (D2) → (D5(quotient)) (D4( remainder)).
2262
2263 == **DDIV/32-bit division operation** ==
2264
2265 **DDIV(P)**
2266
2267 Divide the BIN32-bit data specified in (S1) with the BIN32-bit data specified in (S2), and store the result in the device specified in (D).
2268
2269 -[DDIV (S1) (S2) (D)]
2270
2271 **Content, range and data type**
2272
2273 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2274 |(% style="text-align:center; vertical-align:middle" %)(S1)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2275 |(% style="text-align:center; vertical-align:middle" %)(S2)|Division operation data or device storing division operation data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2276 |(% style="text-align:center; vertical-align:middle" %)(D)|Device for storing calculation results|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)Signed BIN64 bit|(% style="text-align:center; vertical-align:middle" %)ANY64_S
2277
2278 **Device used**
2279
2280 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2281 **Offset modification**
2282 )))|(% style="text-align:center; vertical-align:middle" %)(((
2283 **Pulse extension**
2284 )))
2285 |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2286 |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DDIV|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2287 |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2288 |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2289
2290 **Features**
2291
2292 Divide the BIN32-bit data specified in (S1) with the BIN32-bit data specified in (S2), and store the result of the operation in the device specified in (D).
2293
2294 (% style="text-align:center" %)
2295 [[image:07-1 Basic instructions_html_1b1dca7a3fa22e30.png]]
2296
2297 In the case of word devices, the division result uses BIN64 bits to store the quotient and remainder. In the case of bit devices, only the BIN 32-bit storage quotient is used.
2298
2299 ✎**Note: **
2300
2301 ~1. About the operation result
2302
2303 • The highest bit of the quotient and remainder represents the sign of positive (0) and negative (1).
2304
2305 • When one of (S1) or (S2) is negative, the quotient becomes negative. When (S1) is negative, the remainder becomes negative.
2306
2307 2. The specified device of (D)
2308
2309 • With the digit specification function, when a bit device is specified, the remainder cannot be obtained.
2310
2311 **Error code**
2312
2313 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2314 |(% style="text-align:center; vertical-align:middle" %)4080H|The input of divisor (S2) is 0
2315 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2316 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2317
2318 **Example**
2319
2320 (% style="text-align:center" %)
2321 [[image:07-1 Basic instructions_html_21e85706527efeba.png]]
2322
2323 Divide the data in (D1, D0) by (D3, D2), and store the result of the calculation: the quotient is stored in (D5, D4), and the remainder is stored in (D7, D6), that is (D1, D0)/ (D3, D2) → (D5, D4) (quotient) (D7, D6) (remainder).
2324
2325 == **INC/16-bit data increment** ==
2326
2327 **INC(P)**
2328
2329 Add one to the device (BIN 16-bit data) specified in (D).
2330
2331 -[INC (D)]
2332
2333 **Content, range and data type**
2334
2335 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2336 |(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores the data added by one|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S
2337
2338 **Device used**
2339
2340 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="8" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2341 **Offset modification**
2342 )))|(% style="text-align:center; vertical-align:middle" %)(((
2343 **Pulse extension**
2344 )))
2345 |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2346 |(% style="text-align:center; vertical-align:middle" %)INC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2347
2348 **Features**
2349
2350 Add one to the device (BIN 16-bit data) specified in (D).
2351
2352 (% style="text-align:center" %)
2353 [[image:07-1 Basic instructions_html_f35c36e39c08072.png]]
2354
2355 • If the INC(P) instruction is executed when the content of the device specified in (D) is 32767, -32768 will be stored in the device specified in (D).
2356
2357 • Flags (zero, borrow, carry) do not perform actions.
2358
2359 ✎**Note: ** If the continuous execution (INC) instruction is used, the addition operation will be performed every operation cycle, so care should be taken.
2360
2361 **Error code**
2362
2363 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2364 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2365 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2366
2367 **Example**
2368
2369 (% style="text-align:center" %)
2370 [[image:07-1 Basic instructions_html_4fe585ed449771bf.png||height="88" width="349"]]
2371
2372 Add one to the device value specified in D0, that is, (D0) + 1 → (D0).
2373
2374 == **DINC/32-bit data increment** ==
2375
2376 **DINC(P)**
2377
2378 Add one to the device (BIN 32-bit data) specified in (D).
2379
2380 -[DINC (D)]
2381
2382 **Content, range and data type**
2383
2384 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2385 |(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores the data added by one|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147493647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32_S
2386
2387 **Device used**
2388
2389 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="10" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2390 **Offset modification**
2391 )))|(% style="text-align:center; vertical-align:middle" %)(((
2392 **Pulse extension**
2393 )))
2394 |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2395 |(% style="text-align:center; vertical-align:middle" %)DINC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2396
2397 **Features**
2398
2399 Add one to the device (BIN 32-bit data) specified in (D).
2400
2401 (% style="text-align:center" %)
2402 [[image:07-1 Basic instructions_html_7d13add7bbac367d.png]]
2403
2404 • When the DINC(P) instruction is executed when the content of the device specified in (D) is 2147483647, -2147483648 will be stored in the device specified in (D).
2405
2406 • Flags (zero, borrow, carry) do not perform actions.
2407
2408 ✎**Note: ** If the continuous execution (INC) instruction is used, the addition operation will be performed every operation cycle, so care should be taken.
2409
2410 **Error code**
2411
2412 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2413 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2414 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2415
2416 **Example**
2417
2418 (% style="text-align:center" %)
2419 [[image:07-1 Basic instructions_html_9288e451278259f.png||height="83" width="330"]]
2420
2421 Add one to the device value specified in (D1, D0), that is, (D1, D0) + 1 → (D1, D0).
2422
2423
2424
2425
2426
2427
2428
2429
2430 **DEC/16 bit data decrement**
2431
2432 **DEC(P)**
2433
2434 Minus one for the device (BIN 16-bit data) specified in (D).
2435
2436 -[DEC (D)]
2437
2438 **Content, range and data type**
2439
2440 |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)**
2441 |(% style="text-align:center; vertical-align:middle" %)(D)|The word device number that stores the data minus by one|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S
2442
2443 **Device used**
2444
2445 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="8" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2446 **Offset modification**
2447 )))|(% style="text-align:center; vertical-align:middle" %)(((
2448 **Pulse extension**
2449 )))
2450 |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2451 |(% style="text-align:center; vertical-align:middle" %)DEC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2452
2453 **Features**
2454
2455 Minus one for the device (BIN 16-bit data) specified in (D).
2456
2457 [[image:07-1 Basic instructions_html_df1a004773f12e76.png]]
2458
2459 • If the DEC(P) instruction is executed when the content of the device specified in (D) is -32768, 32767 will be stored in the device specified in (D).
2460
2461 • Flags (zero, borrow, carry) do not perform actions.
2462
2463 ✎**Note: ** If using continuous execution (DEC) instructions, subtraction will be performed every operation cycle, so care should be taken.
2464
2465 **Error code**
2466
2467 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2468 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2469 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2470
2471 **Example**
2472
2473 (% style="text-align:center" %)
2474 [[image:07-1 Basic instructions_html_ebee4e241b873490.png||height="108" width="423"]]
2475
2476 Each time M0 is set, the value of the device specified in D0 will be -1, (D0)-1 → (D0).
2477
2478 == **DDEC/32-bit data decrement** ==
2479
2480 **DDEC(P)**
2481
2482 Minus one for the device (BIN 32-bit data) specified in (D).
2483
2484 -[DDEC (D)]
2485
2486 **Content, range and data type**
2487
2488 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
2489 |(D)|The word device number that stores the data minus by one|-2147483648 to 2147483647|Signed BIN 32 bit|ANY32_S
2490
2491 **Device used**
2492
2493 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="10" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)(((
2494 **Offset modification**
2495 )))|(% style="text-align:center; vertical-align:middle" %)(((
2496 **Pulse extension**
2497 )))
2498 |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP**
2499 |(% style="text-align:center; vertical-align:middle" %)DDEC|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●
2500
2501 **Features**
2502
2503 Minus one for the device (BIN 32-bit data) specified in (D).
2504
2505 (% style="text-align:center" %)
2506 [[image:07-1 Basic instructions_html_7d13add7bbac367d.png]]
2507
2508 If the DDEC(P) instruction is executed when the content of the device specified in (D) is 0, minus one will be stored in the device specified in (D).
2509
2510 • Flags (zero, borrow, carry) do not perform actions.
2511
2512 ✎**Note: ** If using continuous execution (DEC) instructions, subtraction will be performed every operation cycle.
2513
2514 **Error code**
2515
2516 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2517 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2518 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2519
2520 **Example**
2521
2522 (% style="text-align:center" %)
2523 [[image:07-1 Basic instructions_html_2f77792f36a8d549.png||height="72" width="323"]]
2524
2525 Minus one on the device value specified in (D1, D0), that is, (D1, D0)-1 → (D0).