Wiki source code of 01 Transfer and comparison

Version 10.1 by Joey on 2022/06/11 14:07

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 extension**
109 )))
110 |(% 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**
111 |(% 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" %)●
112 |(% 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" %)●
113 |(% 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" %)●
114
115 **Features**
116
117 Batch transfer the BIN 16-bit data of point (N) starting from the device specified in (S) to the device specified in (D).
118
119 (% style="text-align:center" %)
120 [[image:07-1 Basic instructions_html_be0796979ffd3c06.png||height="268" width="750"]]
121
122 When the device number exceeds the range, it will be transferred within the allowable range.
123
124 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).
125
126 **Error code**
127
128 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
129 |(% style="text-align:center; vertical-align:middle" %)4084H|In application instruction (N) input the data exceeds the specified range
130 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S) and (N) in read application instruction exceed the device range
131 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
132
133 **Example**
134
135 (% style="text-align:center" %)
136 [[image:07-1 Basic instructions_html_508e98856ee24b54.png]]
137
138 When M0 is set, set M1, then (D5)→(D10); (D6)→(D11); (D7)→(D12);
139
140 When M0 is reset, set M1, then (D10)→(D5); (D11)→(D6); (D12)→(D7).
141
142 == **FMOV/16-bit multicast** ==
143
144 **FMOV(P)**
145
146 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).
147
148 -[FMOV (S) (D) (N)]
149
150 **Content, range and data type**
151
152 |(% 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)**
153 |(% 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
154 |(% 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
155 |(% 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
156
157 **Device used**
158
159 |(% 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" %)(((
160 **Pulse extension**
161 )))
162 |(% 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**
163 |(% 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" %)●
164 |(% 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" %)●
165 |(% 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" %)●
166
167 **Features**
168
169 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.
170
171 (% style="text-align:center" %)
172 [[image:07-1 Basic instructions_html_9ef78d87c9eeaa63.png||height="305" width="750"]]
173
174 When the number specified in (N) exceeds the device number range, transfer is performed within the allowable range.
175
176 When a constant (K) is specified for the transmission source (S), it will be automatically converted to BIN.
177
178 **Error code**
179
180 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
181 |(% style="text-align:center; vertical-align:middle" %)4084H|(S) and(N) input the data In application instruction exceed the specified range
182 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S) and (N) in read application instruction exceed the device range
183 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
184
185 **Example**
186
187 (% style="text-align:center" %)
188 [[image:07-1 Basic instructions_html_ff5ab9afced99509.png]]
189
190 When M0 is set, the value of D0 to D4 is set to 0.
191
192 (% style="text-align:center" %)
193 [[image:07-1 Basic instructions_html_95f9fe70e9adcf29.png||height="312" width="725"]]
194
195 == **DFMOV/ 32-bit multicast** ==
196
197 **DFMOV(P)**
198
199 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).
200
201 -[FMOV (S) (D) (N)]
202
203 **Content, range and data type**
204
205 |(% 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)**
206 |(% 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
207 |(% 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
208 |(% 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
209
210 **Device used**
211
212 |(% 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" %)(((
213 **Pulse extension**
214 )))
215 |(% 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**
216 |(% 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" %)●
217 |(% 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" %)●
218 |(% 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" %)●
219
220 **Features**
221
222 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.
223
224 (% style="text-align:center" %)
225 [[image:07-1 Basic instructions_html_f3f9cd2e9dfe1cfe.png||height="213" width="750"]]
226
227 When the number specified in (N) exceeds the device number range, transfer is performed within the allowable range.
228
229 When a constant (K) is specified for the transmission source (S), it will be automatically converted to BIN.
230
231 **Error code**
232
233 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
234 |(% style="text-align:center; vertical-align:middle" %)4084H|(S) and (N) input the data In application instruction exceed the specified range
235 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S) and (N) in read application instruction exceed the device range
236 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
237
238 **Example**
239
240 (% style="text-align:center" %)
241 [[image:07-1 Basic instructions_html_a390e21753dc736e.png]]
242
243 When M0 is set, the value of (D1, D0), (D3, D2), (D5, D4), (D7, D6), (D9, D8) is set to 0.
244
245 == **SMOV/Bit shift** ==
246
247 **SMOV(P)**
248
249 A instruction for distributing and synthesizing data in units of digits (4 bits).
250
251 -[SMOV (S) (N1) (N2) (D) (N3)]
252
253 **Content, range and data type**
254
255 |(% 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)**
256 |(% 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
257 |(% 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
258 |(% 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
259 |(% 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
260 |(% 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
261
262 **Device used**
263
264 |(% 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" %)(((
265 **Pulse extension**
266 )))
267 |(% 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**
268 |(% 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" %)●
269 |(% 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" %)●
270 |(% 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" %)●
271 |(% 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" %)●
272 |(% 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" %)●
273
274 **Features**
275
276 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).
277
278 When the instruction input is OFF, the transfer destination (D) does not change.
279
280 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.
281
282 Perform BIN→BCD conversion on (S).
283
284 (((
285 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.
286
287 Convert the synthesized data (BCD) into BIN and store it in (D).
288
289 (% style="text-align:center" %)
290 [[image:07-1 Basic instructions_html_34ee545d4d67eedb.gif||height="442" width="750"]]
291 )))
292
293 **Extended function**
294
295 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.
296
297 **Error code**
298
299 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
300 |(% 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.
301 |(% 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
302 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instructions exceeds the device range
303
304 **Example**
305
306 After synthesizing the data of the 3-digit digital switch, it is stored in D2 in binary.
307
308 (% style="text-align:center" %)
309 [[image:07-1 Basic instructions_html_813e30f89d5a26b3.png]]
310
311 Combine data of 3 digital switches connected to non-continuous input terminals.
312
313 (% style="text-align:center" %)
314 [[image:07-1 Basic instructions_html_313402f5a5ed68ac.png]]
315
316 When M0 is set,
317
318 (X020 to X027) BCD 2 digits → D 2 (binary);
319
320 (X000 to X003) BCD 1 digit → D 1 (binary);
321
322 Store the 1 digit of D1 into the 3 digit of D2, and synthesize a 3-digit value.
323
324 == **CML/16-bit invert transmission** ==
325
326 **CML(P)  **
327
328 After the BIN 16-bit data specified in (S) is inverted bit by bit, the result is transferred to the device specified in (D).
329
330 -[CML (S) (D)]
331
332 **Content, range and data type**
333
334 |(% 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)**
335 |(% 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
336 |(% 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
337
338 **Device used**
339
340 |(% 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" %)(((
341 **Pulse extension**
342 )))
343 |(% 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**
344 |(% 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" %)●
345 |(% 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" %)●
346
347 **Features**
348
349 After inverting the BIN 16-bit data specified in (S) bit by bit, the result is transferred to the device specified in (D).
350
351 (% style="text-align:center" %)
352 [[image:07-1 Basic instructions_html_ac6a8a5d1cd98a7.png]]
353
354 When the number of digits of the device with the specified digit is 4 points, other digits are not affected.
355
356 **Error code**
357
358 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
359 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (S) in read application instruction exceeds the device range
360 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
361
362 **Example**
363
364 Example 1:
365
366 (% style="text-align:center" %)
367 [[image:07-1 Basic instructions_html_1747c114427d7d5a.png]]
368
369 When M0 is set, the value of D0 is inverted and transferred to the value of D2.
370
371 Example 2:
372
373 invert input acquisition:
374
375 (% style="text-align:center" %)
376 [[image:07-1 Basic instructions_html_11af96bca5fab94f.png||height="211" width="750"]]
377
378 == **DCML/32-bit invert transmission** ==
379
380 **DCML(P)**
381
382 After the BIN 32-bit data specified in (s) is inverted bit by bit, the result is transferred to the device specified in (d).
383
384 -[CML (s) (d)]
385
386 **Content, range and data type**
387
388 |(% 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)**
389 |(% 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
390 |(% 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
391
392 **Device used**
393
394 |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="14" %)**Devices**|**Offset modification**|(((
395 **Pulse extension**
396 )))
397 |**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
398 |(% rowspan="2" %)DCML|Parameter 1|●|●|●|●|●|●|●|●|●|●|●|●|●| |●|●
399 |Parameter 2| |●|●|●|●|●|●|●|●|●|●| | | |●|●
400
401 **Features**
402
403 After inverting the BIN 32-bit data specified in (s) bit by bit, the result is transferred to the device specified in (d).
404
405 (% style="text-align:center" %)
406 [[image:07-1 Basic instructions_html_7f6b1b324c7b408b.png]]
407
408 When the number of digits of the device with the specified digit is 4 points, other digits are not affected.
409
410 **Error code**
411
412 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
413 |(% style="text-align:center; vertical-align:middle" %)4085H|The output result of (s) in read application instruction exceeds the device range
414 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (d) in write application instruction exceeds the device range
415
416 **Example**
417
418 (% style="text-align:center" %)
419 [[image:07-1 Basic instructions_html_10734f3934cb4211.png]]
420
421 When M0 is set, the value of (D1, D0) is reversed and transferred to the value of (D3, D2).
422
423 == **CMP/16-bit data comparison output** ==
424
425 **CMP(P)**
426
427 Compare the BIN 16-bit data of the device specified in (s1) and (s2).
428
429 -[CML (S1) (S2) (D)]
430
431 **Content, range and data type**
432
433 |(% 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)**
434 |(% 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
435 |(% 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
436 |(% 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
437
438 **Device used**
439
440 |(% 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" %)(((
441 **Pulse extension**
442 )))
443 |(% 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**
444 |(% 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" %)●
445 |(% 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" %)●
446 |(% 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" %)
447
448 **Features**
449
450 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.
451
452 (S1) and (S2) are handled as BIN values within the above setting data range.
453
454 Use algebraic methods for size comparison.
455
456 (% style="text-align:center" %)
457 [[image:07-1 Basic instructions_html_d5b466b2989a168c.png||height="295" width="750"]]
458
459 (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.
460
461 ✎**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.
462
463 **Error code**
464
465 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
466 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in read application instruction exceed the device range
467 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
468
469 **Example**
470
471 (% style="text-align:center" %)
472 [[image:07-1 Basic instructions_html_3f1803378f8b10a8.png]]
473
474 When M0 is set, compare the values of D0 and D2:
475
476 If (D0)> (D2) then Y0 is ON.
477
478 If (D0) = (D2) then Y1 is ON. If (D0) <(D2) then Y2 is ON.
479
480 == **DCMP/32-bit data comparison output** ==
481
482 **DCMP(P)**
483
484 Compare the BIN 32-bit data of the device specified in (S1) and (S2).
485
486 -[DCML (S1) (S2) (D)]
487
488 **Content, range and data type**
489
490 |(% 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)**
491 |(% 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
492 |(% 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
493 |(% 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
494
495 **Device used**
496
497 |(% 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" %)(((
498 **Pulse extension**
499 )))
500 |(% 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**
501 |(% 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" %)●
502 |(% 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" %)●
503 |(% 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" %)
504
505 **Features**
506
507 • 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.
508
509 • (S1) and (S2) are handled as BIN values within the above setting data range.
510
511 • Use algebraic methods for size comparison.
512
513 (% style="text-align:center" %)
514 [[image:07-1 Basic instructions_html_d5b466b2989a168c.png||height="295" width="750"]]
515
516 (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.
517
518 ✎**Note: ** Occupy the device specified in 3 points (D) at the beginning. Please be careful not to overlap with other control devices.
519
520 **Error code**
521
522 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
523 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in read application instruction exceed the device range
524 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instruction exceeds the device range
525
526 **Example**
527
528 (% style="text-align:center" %)
529 [[image:07-1 Basic instructions_html_db9a9675057311a.png]]
530
531 When M0 is set, compare the values of (D1, D0) and (D3, D2):
532
533 If (D1, D0)> (D3, D2) then Y0 is ON.
534
535 If (D1, D0) = (D3, D2) then Y1 is ON.
536
537 If (D1, D0) <(D3, D2) then Y2 is ON.
538
539 == **XCH/16-bit data exchange** ==
540
541 **XCH(P)**
542
543 Exchange the BIN 16-bit data of (D1) and (D2).
544
545 -[XCH (D1) (D2)]
546
547 **Content, range and data type**
548
549 |(% 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)**
550 |(% 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
551 |(% 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
552
553 **Device used**
554
555 |(% 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" %)(((
556 **Pulse extension**
557 )))
558 |(% 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**
559 |(% 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" %)●
560 |(% 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" %)●
561
562 **Features**
563
564 • Exchange the BIN 16-bit data of (D1) and (D2).
565
566 (% style="text-align:center" %)
567 [[image:07-1 Basic instructions_html_da762df21d9f9e95.png||height="276" width="713"]]
568
569 • 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.
570
571 (% style="text-align:center" %)
572 [[image:07-1 Basic instructions_html_c0cea7cfb5b2e83c.png]]
573
574 ✎**Note: **If continuous execution instructions are used, conversion will be performed every operation cycle.
575
576 **Error code**
577
578 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
579 |(% style="text-align:center; vertical-align:middle" %)4084H|In exchange mode, the devices in (D1) and (D2) are different
580 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D1) and (D2) in the read application instruction exceed the device range
581 |(% style="text-align:center; vertical-align:middle" %)4086H|The output results of (D1) and (D2) in the writing application instruction exceed the device range
582
583 **Example**
584
585 When M0 is reset, set M1: the value of D0 and the value of D2 are exchanged.
586
587 (% style="text-align:center" %)
588 [[image:07-1 Basic instructions_html_379b08fc9ff53251.png]]
589
590 When M0 is set, M1 is set: the upper 8 bits (bytes) and lower 8 bits (bytes) of D0 are exchanged with each other.
591
592 (% style="text-align:center" %)
593 [[image:07-1 Basic instructions_html_3642e474e8c61a0f.png]]
594
595 == **DXCH/32-bit data exchange** ==
596
597 **DXCH(P)**
598
599 Exchange (D1) and (D2) BIN 32-bit data.
600
601 -[DXCH (D1) (D2)]
602
603 **Content, range and data type**
604
605 |(% 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)**
606 |(% 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
607 |(% 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
608
609 **Device used**
610
611 |(% 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" %)(((
612 **Pulse extension**
613 )))
614 |(% 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**
615 |(% 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" %)●
616 |(% 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" %)●
617
618 **Features**
619
620 • Exchange the BIN 32-bit data of (D1), (D1)+1 and (D2), (D2)+1.
621
622 (% style="text-align:center" %)
623 [[image:07-1 Basic instructions_html_3e35d534c210d03a.png||height="288" width="750"]]
624
625 • 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).
626
627 (% style="text-align:center" %)
628 [[image:07-1 Basic instructions_html_f115854aba0c26e.png||height="222" width="880"]]
629
630 ✎**Note: **If continuous execution instructions are used, conversion will be performed every operation cycle.
631
632 **Error code**
633
634 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
635 |(% style="text-align:center; vertical-align:middle" %)4084H|In exchange mode, the devices in (D1) and (D2) are different
636 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D1) and (D2) in the read application instruction exceed the device range
637 |(% style="text-align:center; vertical-align:middle" %)4086H|The output results of (D1) and (D2) in the writing application instruction exceed the device range
638
639 **Example :**
640
641 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.
642
643 (% style="text-align:center" %)
644 [[image:07-1 Basic instructions_html_4e345d7e7c986d10.png]]
645
646 When M0 is reset, set M1: the value of (D1, D0) and the value of (D3, D2) are exchanged.
647
648 (% style="text-align:center" %)
649 [[image:07-1 Basic instructions_html_9fff2f30b51cfc7f.png]]
650
651 == **ZCP/16-bit data interval comparison** ==
652
653 **ZCP(P)**
654
655 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.
656
657 -[ZCP (S1) (S2) (S3) (D)]
658
659 **Content, range and data type**
660
661 |(% 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)**
662 |(% 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
663 |(% 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
664 |(% 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
665 |(% 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
666
667 **Device used**
668
669 |(% 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" %)(((
670 **Pulse extension**
671 )))
672 |(% 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**
673 |(% 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" %)●
674 |(% 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" %)●
675 |(% 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" %)●
676 |(% 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" %)
677
678 **Features**
679
680 • 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.
681
682 • Use algebraic methods for size comparison.
683
684 (% style="text-align:center" %)
685 [[image:07-1 Basic instructions_html_878004f8efa838b.gif||height="361" width="700"]]
686
687 (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.
688
689 ✎**Note: **
690
691 • Please set the lower comparison value (S1) to a value smaller than the upper comparison value (S2).
692
693 • When (s1) is greater than (S2), it will be processed as (S2)=(S1).
694
695 • The device specified in 3 points (d) is occupied at the beginning. Please be careful not to overlap with other control devices.
696
697 **Error code**
698
699 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
700 |(% 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
701 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in write application instructions exceeds the device range
702
703 **Example**
704
705 (% style="text-align:center" %)
706 [[image:07-1 Basic instructions_html_db2bc281a152807e.png]]
707
708 When M0 is set, compare whether D0 is between 0 and 1000:
709
710 If (D0)> (1000), then Y0 is ON.
711
712 If (0) ≤ (D0) ≤ (1000), then Y1 is ON.
713
714 If (D0) <(0), then Y2 is ON.
715
716 == **DZCP/32-bit data interval comparison** ==
717
718 **DZCP(P)**
719
720 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.
721
722 -[DZCP (S1) (S2) (S3) (D)]
723
724 **Content, range and data type**
725
726 |(% 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)**
727 |(% 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
728 |(% 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
729 |(% 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
730 |(% 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
731
732 **Device used**
733
734 |(% 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" %)(((
735 **Pulse extension**
736 )))
737 |(% 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**
738 |(% 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" %)●
739 |(% 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" %)●
740 |(% 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" %)●
741 |(% 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" %)
742
743 **Features**
744
745 • 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.
746
747 • Use algebraic methods for size comparison.
748
749 (% style="text-align:center" %)
750 [[image:07-1 Basic instructions_html_878004f8efa838b.gif||height="361" width="700"]]
751
752 (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.
753
754 ✎**Note: **
755
756 • Please set the lower comparison value (S1) to a value smaller than the upper comparison value (S2).
757
758 • When (S1) is greater than (S2), it will be processed as (S2)=(S1).
759
760 • The device specified in 3 points (D) is occupied at the beginning. Please be careful not to overlap with other control devices.
761
762 **Error code**
763
764 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
765 |(% 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
766 |(% style="text-align:center; vertical-align:middle" %)4086H|The output results of (D) in the write application instruction exceeds the device range
767
768 **Example**
769
770 (% style="text-align:center" %)
771 [[image:07-1 Basic instructions_html_a215dc073ae34e2c.png]]
772
773 When M0 is set, compare D0 with whether it is between 0 and 100000:
774
775 If (D0)> (100000), then Y0 is ON.
776
777 If (0) ≤ (D0) ≤ (100000), then Y1 is ON.
778
779 If (D0) <(0), then Y2 is ON.
780
781 = **Cycle shift instruction** =
782
783 == **ROR/16-bit cycle shift right** ==
784
785 **ROR(P)**
786
787 Shift the 16-bit data of the device specified in (D) to the right by (N) bits without including the carry flag.
788
789 -[ROR (D) (N)]
790
791 **Content, range and data type**
792
793 |(% 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)**
794 |(% 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
795 |(% 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
796
797 **Device used**
798
799 |(% 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" %)(((
800 **Pulse extension**
801 )))
802 |(% 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**
803 |(% 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" %)●
804 |(% 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" %)●
805
806 **Features**
807
808 ・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.
809
810 (% style="text-align:center" %)
811 [[image:07-1 Basic instructions_html_211c81ae87a63ccc.gif||height="415" width="750"]]
812
813 (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.
814
815 **Related device**
816
817 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
818 |(% 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.
819
820 ✎**Note: **
821
822 Do not set the number of digits (N) shifted right to a negative value.
823
824 In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful.
825
826 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).
827
828
829 **Error code**
830
831 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
832 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
833 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
834 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
835
836 **Example**
837
838 (% style="text-align:center" %)
839 [[image:07-1 Basic instructions_html_3f35914868d0e9df.png]]
840
841 Shift the 1 in the D0 device by 3 bits to the right to get 8192.
842
843 == **DROR/32-bit cycle shift right** ==
844
845 **DROR(P)**
846
847 Shift the 32-bit data of the device specified in (D) to the right by (N) bits without including the carry flag.
848
849 -[DROR (D) (N)]
850
851 **Content, range and data type**
852
853 |(% 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)**
854 |(% 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
855 |(% 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
856
857 **Device used**
858
859 |(% 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" %)(((
860 **Pulse extension**
861 )))
862 |(% 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**
863 |(% 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" %)●
864 |(% 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" %)●
865
866 **Features**
867
868 ・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.
869
870 (% style="text-align:center" %)
871 [[image:07-1 Basic instructions_html_782300af1d1cbbc6.gif||height="292" width="750"]]
872
873 (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.
874
875 **Related device**
876
877 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
878 |(% 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.
879
880 ✎**Note: **
881
882 Do not set the number of digits (N) shifted right to a negative value.
883
884 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).
885
886 **Error code**
887
888 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
889 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
890 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
891 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
892
893 (((
894 After the rising edge of M1 is triggered, the value 32 of the D0 device is shifted right by 3 bits to get 4.
895
896 **Example**
897 )))
898
899 (% style="text-align:center" %)
900 [[image:07-1 Basic instructions_html_50ea116e0a4110c.png]]
901
902 == **RCR/16-bit cycle shift right with carry** ==
903
904 **RCR(P)**
905
906 Shift the 16-bit data of the device specified in (D) to the right by (N) bits with the carry flag included.
907
908 -[RCR (D) (N)]
909
910 **Content, range and data type**
911
912 |(% 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)**
913 |(% 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
914 |(% 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
915
916 **Device used**
917
918 |(% 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" %)(((
919 **Pulse extension**
920 )))
921 |(% 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**
922 |(% 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" %)●
923 |(% 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" %)●
924
925 **Features**
926
927 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.
928
929 (% style="text-align:center" %)
930 [[image:07-1 Basic instructions_html_892489cd33fef35e.gif||height="368" width="750"]]
931
932 (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.
933
934 **Related device**
935
936 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
937 |(% 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.
938
939 ✎**Note: **
940
941 Do not set the number of digits (N) shifted right to a negative value.
942
943 In the case of continuous execution type instructions (ROR, RCR), the right shift will be executed every scan time (operation cycle), so be careful.
944
945 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).
946
947 **Error code**
948
949 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
950 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N)
951 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
952 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
953
954 **Example**
955
956 (% style="text-align:center" %)
957 [[image:07-1 Basic instructions_html_d84a8536f60ce54a.png]]
958
959 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.
960
961 == **DRCR/32-bit cycle shift right with carry** ==
962
963 **DRCR(P)**
964
965 Shift the 32-bit data of the device specified in (D) to the right by (N) bits with the carry flag included.
966
967 -[DRCR (D) (N)]
968
969 **Content, range and data type**
970
971 |(% 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)**
972 |(% 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
973 |(% 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
974
975 **Device used**
976
977 (% style="width:1487px" %)
978 |(% 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" %)(((
979 **Pulse extension**
980 )))
981 |(% 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**
982 |(% 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" %)●
983 |(% 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" %)●
984
985 **Features**
986
987 ・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.
988
989 (% style="text-align:center" %)
990 [[image:07-1 Basic instructions_html_f31c6b7fdef32870.gif||height="295" width="750"]]
991
992 (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.
993
994 **Related device**
995
996 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
997 |(% 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.
998
999 ✎**Note: **
1000
1001 Do not set the number of bits (N) to turn right to a negative value.
1002
1003 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).
1004
1005 **Error code**
1006
1007 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1008 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1009 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1010 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1011
1012 **Example**
1013
1014 (((
1015 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.
1016
1017 (% style="text-align:center" %)
1018 [[image:07-1 Basic instructions_html_1fa431776b980f3.png]]
1019 )))
1020
1021 == **ROL/16-bit cycle shift left** ==
1022
1023 **ROL(P)**
1024
1025 Shift the 16-bit data of the device specified in (D) to the left by (N) bits without including the carry flag.
1026
1027 -[ROL (D) (N)]
1028
1029 **Content, range and data type**
1030
1031 |(% 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)**
1032 |(% 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
1033 |(% 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
1034
1035 **Device used**
1036
1037 |(% 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" %)(((
1038 **Pulse extension**
1039 )))
1040 |(% 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**
1041 |(% 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" %)●
1042 |(% 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" %)●
1043
1044 **Features**
1045
1046 ・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.
1047
1048 (% style="text-align:center" %)
1049 [[image:07-1 Basic instructions_html_5368402e0b2f8d39.gif||height="426" width="750"]]
1050
1051 (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.
1052
1053 **Related device**
1054
1055 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1056 |(% 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.
1057
1058 ✎**Note: **
1059
1060 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).
1061
1062 **Error code**
1063
1064 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1065 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1066 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1067 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1068
1069 (% style="text-align:center" %)
1070 [[image:07-1 Basic instructions_html_89015ce664980431.png]]
1071
1072 **Example**
1073
1074 Shift 1 in the D0 device to the left by 3 bits to get 8.
1075
1076 == **DROL/32-bit cycle shift left** ==
1077
1078 **DROL(P)**
1079
1080 Shift the 32-bit data of the device specified in (D) to the left by (N) bits without including the carry flag.
1081
1082 -[DROL (D) (N)]
1083
1084 **Content, range and data type**
1085
1086 |(% 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)**
1087 |(% 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
1088 |(% 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
1089
1090 **Device used**
1091
1092 |(% 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" %)(((
1093 **Offset modification**
1094 )))|(% style="text-align:center; vertical-align:middle" %)(((
1095 **Pulse extension**
1096 )))
1097 |(% 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**
1098 |(% 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" %)●
1099 |(% 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" %)●
1100
1101 **Features**
1102
1103 ・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.
1104
1105 (% style="text-align:center" %)
1106 [[image:07-1 Basic instructions_html_74bd4947729181d8.gif||height="299" width="750"]]
1107
1108 (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.
1109
1110 **Related device**
1111
1112 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1113 |(% 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.
1114
1115 ✎**Note: **
1116
1117 Do not set the number of digits (N) shifted to the left to a negative value.
1118
1119 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).
1120
1121 **Error code**
1122
1123 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1124 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1125 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1126 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1127
1128 **Example**
1129
1130 (% style="text-align:center" %)
1131 [[image:07-1 Basic instructions_html_de83e097b4c3b47e.png]]
1132
1133 Shift 1 in the D0 device to the left by 3 bits to get 8.
1134
1135 == **RCL/16-bit cycle shift left with carry** ==
1136
1137 **RCL(P)**
1138
1139 Shift the 16-bit data of the device specified in (D) to the left by (N) bits with the carry flag included.
1140
1141 -[RCL (D) (N)]
1142
1143 **Content, range and data type**
1144
1145 |(% 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)**
1146 |(% 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
1147 |(% 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
1148
1149 **Device used**
1150
1151 |(% 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" %)(((
1152 **Offset modification**
1153 )))|(% style="text-align:center; vertical-align:middle" %)(((
1154 **Pulse extension**
1155 )))
1156 |(% 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**
1157 |(% 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" %)●
1158 |(% 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" %)●
1159
1160 **Features**
1161
1162 ・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.
1163
1164 (% style="text-align:center" %)
1165 [[image:07-1 Basic instructions_html_1892ed00695d575b.gif||height="378" width="750"]]
1166
1167 (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.
1168
1169 **Related device**
1170
1171 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1172 |(% 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.
1173
1174 ✎**Note: **
1175
1176 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).
1177
1178 **Error code**
1179
1180 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1181 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1182 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1183 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1184
1185 **Example**
1186
1187 (% style="text-align:center" %)
1188 [[image:07-1 Basic instructions_html_d67374659afd2d4c.png]]
1189
1190 (((
1191 After the rising edge of M0 is triggered, the carry flag SM151 turns ON, and D0 is assigned the value 1.
1192
1193 When M1=ON, move the value in the D0 device with carry to the left by 4 bits to get 24.
1194 )))
1195
1196 == **DRCL/32-bit cycle shift left with carry** ==
1197
1198 **DRCL(P)**
1199
1200 Move the 32-bit data of the device specified in (D) to the left by (N) bits with the carry flag included.
1201
1202 -[DRCL (D) (N)]
1203
1204 **Content, range and data type**
1205
1206 |(% 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)**
1207 |(% 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
1208 |(% 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
1209
1210 **Device used**
1211
1212 |(% 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" %)(((
1213 **Offset modification**
1214 )))|(% style="text-align:center; vertical-align:middle" %)(((
1215 **Pulse extension**
1216 )))
1217 |(% 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**
1218 |(% 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" %)●
1219 |(% 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" %)●
1220
1221 **Features**
1222
1223 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.
1224
1225 (% style="text-align:center" %)
1226 [[image:07-1 Basic instructions_html_7d7d803db3bbba9e.gif||height="344" width="750"]]
1227
1228 (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.
1229
1230 **Related device**
1231
1232 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1233 |(% 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.
1234
1235 ✎**Note: **
1236
1237 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).
1238
1239 **Error code**
1240
1241 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1242 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1243 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1244 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1245
1246 **Example**
1247
1248 (% style="text-align:center" %)
1249 [[image:07-1 Basic instructions_html_8c7837da92e4e984.png]]
1250
1251 (((
1252 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.
1253 )))
1254
1255 == **SFTR/n-bit shift right of n-bit data** ==
1256
1257 **SFTR(P)**
1258
1259 Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right.
1260
1261 -[SFTR (S) (D) (N1) (N2)]
1262
1263 **Content, range and data type**
1264
1265 |(% 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)**
1266 |(% 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
1267 |(% 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
1268 |(% 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
1269 |(% 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
1270
1271 **Device used**
1272
1273 |(% 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" %)(((
1274 **Offset modification**
1275 )))|(% style="text-align:center; vertical-align:middle" %)(((
1276 **Pulse extension**
1277 )))
1278 |(% 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**
1279 |(% 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" %)●
1280 |(% 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" %)●
1281 |(% 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" %)●
1282 |(% 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" %)●
1283
1284 **Features**
1285
1286 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).
1287
1288 When K0 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 0.
1289
1290 When K1 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 1.
1291
1292 (% style="text-align:center" %)
1293 [[image:07-1 Basic instructions_html_778995c9037fe76c.png||height="272" width="750"]]
1294
1295 (1): When (S)=K0, it becomes 0.
1296
1297 **Error code**
1298
1299 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1300 |(% 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
1301 |When the value specified in (N1) and (N2) is (N1)<(N2)
1302 |(% 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
1303 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1304
1305 **Example**
1306
1307 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.
1308
1309 (% style="text-align:center" %)
1310 [[image:07-1 Basic instructions_html_85a1e316f5176368.png]]
1311
1312
1313 (% style="text-align:center" %)
1314 [[image:07-1 Basic instructions_html_9e770240b084beb6.png||height="360" width="750"]]
1315
1316 == **SFTL/n-bit shift left of n-bit data** ==
1317
1318 **SFTL(P)**
1319
1320 Shift the start (N1) bit data of the device specified in (D) to the left by (N2) bits.
1321
1322 -[SFTL (S) (D) (N1) (N2)]
1323
1324 **Content, range and data type**
1325
1326 |(% 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)**
1327 |(% 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
1328 |(% 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
1329 |(% 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
1330 |(% 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
1331
1332 **Device used**
1333
1334 |(% 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" %)(((
1335 **Offset modification**
1336 )))|(% style="text-align:center; vertical-align:middle" %)(((
1337 **Pulse extension**
1338 )))
1339 |(% 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**
1340 |(% 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" %)●
1341 |(% 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" %)●
1342 |(% 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" %)●
1343 |(% 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" %)●
1344
1345 **Features**
1346
1347 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).
1348
1349 When K0 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 0.
1350
1351 When K1 is specified in (S), the bit of the (D) + (N1 to N2) starting point (N2) after the shift is set to 1.
1352
1353 (% style="text-align:center" %)
1354 [[image:07-1 Basic instructions_html_2452b20d324148ed.png]]
1355
1356 (1): When (S)=K0, it becomes 0.
1357
1358 **Error code**
1359
1360 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1361 |(% 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
1362 |When the value specified in (N1) and (N2) is (N1)<(N2)
1363 |(% 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
1364 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1365
1366 **Example**
1367
1368 Example 1:
1369
1370 (% style="text-align:center" %)
1371 [[image:07-1 Basic instructions_html_61b990c421d1a4a7.gif]]
1372
1373 Example 2:
1374
1375 (% style="text-align:center" %)
1376 [[image:07-1 Basic instructions_html_bd3ff3ff98e5f38b.gif]]
1377
1378 == **WSFR/n-word shift right of n-word data** ==
1379
1380 **WSFR(P)**
1381
1382 Shift (N2) the data of the start (N1) bits of the device specified in (D) to the right.
1383
1384 -[WSFR (S) (D) (N1) (N2)]
1385
1386 **Content, range and data type**
1387
1388 |(% 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)**
1389 |(% 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
1390 |(% 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
1391 |(% 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
1392 |(% 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
1393
1394 **Device used**
1395
1396 |(% 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" %)(((
1397 **Offset modification**
1398 )))|(% style="text-align:center; vertical-align:middle" %)(((
1399 **Pulse extension**
1400 )))
1401 |(% 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**
1402 |(% 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" %)●
1403 |(% 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" %)●
1404 |(% 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" %)●
1405 |(% 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" %)●
1406
1407 **Features**
1408
1409 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).
1410
1411 When K is specified in (S), the device at (D) + (N1 to N2) starting (N2) point after shifting is set to the specified value.
1412
1413 If the value specified in (N1) or (N2) is 0, it will be no processing.
1414
1415 (% style="text-align:center" %)
1416 [[image:07-1 Basic instructions_html_186497250d881d1e.png]]
1417
1418 **Error code**
1419
1420 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1421 |(% 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
1422 |When the value specified in (N1) and (N2) is (N1)<(N2)
1423 |When (S) and (D) both specify KnM, KnX, and KnS, the value of n varies.
1424 |(% 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
1425 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1426
1427 **Example**
1428
1429 (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.
1430
1431 (((
1432 (% style="text-align:center" %)
1433 [[image:07-1 Basic instructions_html_f99e795f9d56f9e7.png]]
1434 )))
1435
1436 (% style="text-align:center" %)
1437 [[image:07-1 Basic instructions_html_f7dcb25bd25f0722.png]]
1438
1439 == **WSFL/n-word shift left of n-word data** ==
1440
1441 **WSFL(P)**
1442
1443 Shift the start (N1) bit data of the device specified in (D) to the left by (N2) bits.
1444
1445 -[WSFL (S) (D) (N1) (N2)]
1446
1447 **Content, range and data type**
1448
1449 |(% 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)**
1450 |(% 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
1451 |(% 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
1452 |(% 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
1453 |(% 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
1454
1455 **Device used**
1456
1457 |(% 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" %)(((
1458 **Offset modification**
1459 )))|(% style="text-align:center; vertical-align:middle" %)(((
1460 **Pulse extension**
1461 )))
1462 |(% 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**
1463 |(% 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" %)●
1464 |(% 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" %)●
1465 |(% 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" %)●
1466 |(% 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" %)●
1467
1468 **Features**
1469
1470 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).
1471
1472 When K is specified in (S), the device at (D) + (N1 to N2) starting (N2) point after shifting is set to the specified value.
1473
1474 If the value specified in (N1) or (N2) is 0, it will be no processing.
1475
1476 (% style="text-align:center" %)
1477 [[image:07-1 Basic instructions_html_a509153078ca2436.png]]
1478
1479 **Error Code**
1480
1481 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1482 |(% 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
1483 |When the value specified in (N1) and (N2) is (N1)<(N2)
1484 |When (S) and (D) both specify KnM, KnX, and KnS, the value of n varies.
1485 |(% 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
1486 |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range
1487
1488 **Example**
1489
1490 (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.
1491
1492 (% style="text-align:center" %)
1493 [[image:07-1 Basic instructions_html_a4e71d25b50b076.png||height="48" width="484"]]
1494
1495 (% style="text-align:center" %)
1496 [[image:07-1 Basic instructions_html_4e6d2d500872e021.png]]
1497
1498 == **SFR/n-bit shift right of 16-bit data** ==
1499
1500 **SFR(P)**
1501
1502 Shift the 16-bit data of the device specified in (D) right by (N) bits.
1503
1504 -[SFR (D) (N)]
1505
1506 **Content, range and data type**
1507
1508 |(% 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)**
1509 |(% 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
1510 |(% 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
1511
1512 **Device used**
1513
1514 |(% 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" %)(((
1515 **Offset modification**
1516 )))|(% style="text-align:center; vertical-align:middle; width:167px" %)(((
1517 **Pulse extension**
1518 )))
1519 |(% 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**
1520 |(% 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" %)●
1521 |(% 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" %)●
1522
1523 **Features**
1524
1525 When (N)=6
1526
1527 (((
1528 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.
1529
1530 (% style="text-align:center" %)
1531 [[image:07-1 Basic instructions_html_5bdb37dbc5728fee.png]]
1532 )))
1533
1534 (((
1535 When (N)=6
1536
1537 When a bit device is specified in (d), the device range specified in the digit specification is shifted to the right.
1538
1539 (% style="text-align:center" %)
1540 [[image:07-1 Basic instructions_html_96855867e2605ca6.png]]
1541 )))
1542
1543 (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.
1544
1545 **Related device&nbsp;**
1546
1547 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1548 |(% 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)
1549
1550 **Error code**
1551
1552 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1553 |(% style="text-align:center; vertical-align:middle" %)4084H|(% style="text-align:center; vertical-align:middle" %)A negative value is specified in (N).
1554 |(% 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
1555 |(% 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
1556
1557 **Example**
1558
1559 When M1 is ON, the contents of Y10 to Y23 are shifted to the right by the number of digits specified in D0.
1560
1561 [[image:07-1 Basic instructions_html_b494c5db2a53883.png]] [[image:07-1 Basic instructions_html_a308a0cf2c4950c1.png]]
1562
1563 == **DSFR/n word data shift right by 1 word** ==
1564
1565 **DSFR(P)**
1566
1567 Shift the data at the start (N) point of the device specified in (D) to the right by 1 word.
1568
1569 -[DSFR (D) (N)]
1570
1571 **Content, range and data type**
1572
1573 |(% 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)**
1574 |(% 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
1575 |(% 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
1576
1577 **Device used**
1578
1579 |(% 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" %)(((
1580 **Offset**
1581
1582 **modification**
1583 )))|(% style="text-align:center; vertical-align:middle" %)(((
1584 **Pulse**
1585
1586 **extension**
1587 )))
1588 |(% 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**
1589 |(% 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" %)●
1590 |(% 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" %)●
1591
1592 **Features**
1593
1594 • Shift the data at the start (N) point of the device specified in (D) by 1 word to the right.
1595
1596 (% style="text-align:center" %)
1597 [[image:07-1 Basic instructions_html_9b4706f3a93a923d.png]]
1598
1599 • The device specified in (D)+(N-1) will become 0.
1600
1601 ✎**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.
1602
1603 **Error code**
1604
1605 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1606 |(% style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N) exceeds the range of 0 to 32767
1607 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1608 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1609
1610 **Example**
1611
1612 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).
1613
1614 (% style="text-align:center" %)
1615 [[image:07-1 Basic instructions_html_5004760ff8588365.png]]
1616
1617 Before execution:
1618
1619 (% style="text-align:center" %)
1620 [[image:07-1 Basic instructions_html_1eb1609e763f4148.png]]
1621
1622 After execution:
1623
1624 (% style="text-align:center" %)
1625 [[image:07-1 Basic instructions_html_5216051d84602b3b.png]]
1626
1627 == **SFL/n-bit shift left of 16-bit data** ==
1628
1629 **SFL(P)**
1630
1631 Shift the 16-bit data of the device specified in (D) to the left by (N) bits.
1632
1633 -[SFL (D) (N)]
1634
1635 **Content, range and data type**
1636
1637 |(% 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)**
1638 |(% 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
1639 |(% 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
1640
1641 **Device used**
1642
1643 |(% 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" %)(((
1644 **Offset modification**
1645 )))|(% style="text-align:center; vertical-align:middle" %)(((
1646 **Pulse extension**
1647 )))
1648 |(% 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**
1649 |(% 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" %)●
1650 |(% 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" %)●
1651
1652 **Features**
1653
1654 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.
1655
1656 (% style="text-align:center" %)
1657 [[image:07-1 Basic instructions_html_951616bfba57e18e.png]]
1658
1659 When (N)=8, it is as follows.
1660
1661 When a bit device is specified in (D), the left shift is performed in the device range specified in the digit specification.
1662
1663 (% style="text-align:center" %)
1664 [[image:07-1 Basic instructions_html_eae27c0dbdbe62d5.png]]
1665
1666 When (N)=3, it is as follows.
1667
1668 (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.
1669
1670 **Related device&nbsp;**
1671
1672 |(% style="text-align:center; vertical-align:middle" %)**Device**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1673 |(% 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)
1674
1675 **Error code**
1676
1677 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1678 |(% style="text-align:center; vertical-align:middle" %)4084H|A negative value is specified in (N).
1679 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1680 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1681
1682 **Example**
1683
1684 When M1 is ON, the contents of Y10 to Y17 are shifted to the left by the number of digits specified in D0.
1685
1686 (% style="text-align:center" %)
1687 [[image:07-1 Basic instructions_html_7691a6d01a769c9.png]]
1688
1689 (% style="text-align:center" %)
1690 [[image:07-1 Basic instructions_html_33c23e6059974f03.png||height="328" width="750"]]
1691
1692 == **DSFL/one word shift left of n word data** ==
1693
1694 **DSFL(P)**
1695
1696 Move the data at the beginning (N) point of the device specified in (D) by 1 word to the left.
1697
1698 -[DSFL (D) (N)]
1699
1700 **Content, range and data type**
1701
1702 |(% 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)**
1703 |(% 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
1704 |(% 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
1705
1706 **Device used**
1707
1708 |(% 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" %)(((
1709 **Offset modification**
1710 )))|(% style="text-align:center; vertical-align:middle" %)(((
1711 **Pulse extension**
1712 )))
1713 |(% 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**
1714 |(% 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" %)●
1715 |(% 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" %)●
1716
1717 **Features**
1718
1719 Shift the data at the start (N) point of the device specified in (D) to the left by 1 word.
1720
1721 (% style="text-align:center" %)
1722 [[image:07-1 Basic instructions_html_241c4b63f7501375.png||height="288" width="750"]]
1723
1724 The device specified in (D) will become 0.
1725
1726 ✎**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.
1727
1728 **Error code**
1729
1730 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1731 |(% style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N) exceeds the range of 0 to 32,767
1732 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) and (N) in the read application instruction exceed the device range
1733 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1734
1735 **Example**
1736
1737 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).
1738
1739 (% style="text-align:center" %)
1740 [[image:07-1 Basic instructions_html_cadd6fc71e7fe42a.png]]
1741
1742 Before execution:
1743
1744 (% style="text-align:center" %)
1745 [[image:07-1 Basic instructions_html_5ac57ffad96aebb3.png]]
1746
1747 After execution:
1748
1749 (% style="text-align:center" %)
1750 [[image:07-1 Basic instructions_html_228be72e17120f3b.png]]
1751
1752 = **Arithmetic operation instructions** =
1753
1754 == **ADD/16-bit addition operation** ==
1755
1756 **ADD(P)**
1757
1758 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).
1759
1760 -[ADD (S1) (S2) (D)]
1761
1762 **Content, range and data type**
1763
1764 |(% 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)**
1765 |(% 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
1766 |(% 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
1767 |(% 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
1768
1769 **Device used**
1770
1771 |(% 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" %)(((
1772 **Offset modification**
1773 )))|(% style="text-align:center; vertical-align:middle" %)(((
1774 **Pulse extension**
1775 )))
1776 |(% 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**
1777 |(% 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" %)●
1778 |(% 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" %)●
1779 |(% 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" %)●
1780
1781 **Features**
1782
1783 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).
1784
1785 (% style="text-align:center" %)
1786 [[image:07-1 Basic instructions_html_8e14b2921161f2d9.png]]
1787
1788 **Related device&nbsp;**
1789
1790 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1791 |(% 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).
1792 |(% 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).
1793 |(% 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).
1794
1795 (% style="text-align:center" %)
1796 [[image:07-1 Basic instructions_html_f7e7b9fa9918e937.png]]
1797
1798 ✎**Note: **
1799
1800 1.When the source operand and destination operand are specified as the same device:
1801
1802 The source operand and destination operand can also be specified as the same device number.
1803
1804 In this case, if you use continuous execution instructions (ADD, DADD), the result of the addition operation will change every operation cycle.
1805
1806 2.The difference between the ADD instruction and the INC instruction using the +1 addition operation program:
1807
1808 ADD[P] means that every time X001 changes from OFF to ON, the content of D0 is added by one operation.
1809
1810 Although this instruction is very similar to the INCP instruction described later, there are some differences in the following content.
1811
1812 |(% 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**
1813 |(% 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**
1814 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1815 16-bit
1816
1817 operation result
1818 )))|(% 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
1819 |(% 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" %)——
1820 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1821 32-bit
1822
1823 operation result
1824 )))|(% 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
1825 |(% 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" %)——
1826
1827 **Error code**
1828
1829 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1830 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
1831 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1832
1833 **Example**
1834
1835 (% style="text-align:center" %)
1836 [[image:07-1 Basic instructions_html_c88107d9dc85e273.png]]
1837
1838 Add 10 to the data in (D0), and store the operation result in (D2), that is, (D0) + 10 → (D2).
1839
1840 == **DADD/32-bit addition operation** ==
1841
1842 **DADD(P)**
1843
1844 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).
1845
1846 -[DADD (S1) (S2) (D)]
1847
1848 **Content, range and data type**
1849
1850 |(% 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)**
1851 |(% 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
1852 |(% 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
1853 |(% 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
1854
1855 **Device used**
1856
1857 |(% 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" %)(((
1858 **Offset modification**
1859 )))|(% style="text-align:center; vertical-align:middle" %)(((
1860 **Pulse extension**
1861 )))
1862 |(% 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**
1863 |(% 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" %)●
1864 |(% 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" %)●
1865 |(% 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" %)●
1866
1867 **Features**
1868
1869 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).
1870
1871 (% style="text-align:center" %)
1872 [[image:07-1 Basic instructions_html_97cb91594c5ae7e4.png]]
1873
1874 **Related device&nbsp;**
1875
1876 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1877 |(% 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).
1878 |(% 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).
1879 |(% 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).
1880
1881 (% style="text-align:center" %)
1882 [[image:07-1 Basic instructions_html_1e2ca6723b868fb4.png]]
1883
1884 ✎**Note: **
1885
1886 ~1. When the source operand and destination operand are specified as the same device:
1887
1888 The source operand and destination operand can also be specified as the same device number.
1889
1890 In this case, if you use continuous execution instructions (ADD, DADD), the result of the addition operation will change every operation cycle. Please note.
1891
1892 2. The difference between the ADD instruction and the INC instruction using the +1 addition operation program:
1893
1894 ADD[P] means that every time X001 changes from OFF to ON, the content of D0 is added by one operation.
1895
1896 Although this instruction is very similar to the INCP instruction described later, there are some differences in the following content.
1897
1898 |(% 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**
1899 |(% 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**
1900 |(% rowspan="4" style="text-align:center; vertical-align:middle" %)Calculation result|(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1901 16-bit
1902
1903 Operation result
1904 )))|(% 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
1905 |(% 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" %)——
1906 |(% rowspan="2" style="text-align:center; vertical-align:middle" %)(((
1907 33-Bit
1908
1909 operation result
1910 )))|(% 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
1911 |(% 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" %)——
1912
1913 **Error code**
1914
1915 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1916 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
1917 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1918
1919 **Example**
1920
1921 (% style="text-align:center" %)
1922 [[image:07-1 Basic instructions_html_de63c4a952dfb6d.png]]
1923
1924 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).
1925
1926 == **SUB/16-bit subtraction operation** ==
1927
1928 **SUB(P)**
1929
1930 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).
1931
1932 -[SUB (S1) (S2) (D)]
1933
1934 **Content, range and data type**
1935
1936 |(% 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)**
1937 |(% 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
1938 |(% 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
1939 |(% 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
1940
1941 **Device used**
1942
1943 |(% 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" %)(((
1944 **Offset modification**
1945 )))|(% style="text-align:center; vertical-align:middle" %)(((
1946 **Pulse extension**
1947 )))
1948 |(% 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**
1949 |(% 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" %)●
1950 |(% 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" %)●
1951 |(% 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" %)●
1952
1953 **Features**
1954
1955 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).
1956
1957 (% style="text-align:center" %)
1958 [[image:07-1 Basic instructions_html_cbd3a6fd4cb00b65.png]]
1959
1960 **Related device&nbsp;**
1961
1962 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
1963 |(% 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).
1964 |(% 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).
1965 |(% 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).
1966
1967 (% style="text-align:center" %)
1968 [[image:07-1 Basic instructions_html_ac1f8acda3746b1d.png]]
1969
1970 ✎**Note: **
1971
1972 ~1. When the source operand and destination operand are specified as the same device:
1973
1974 The source operand and destination operand can also be specified as the same device number.
1975
1976 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.
1977
1978 2. The difference between the SUB(P) instruction and the -(P) instruction and DEC(P) instruction executed by the -1 subtraction program
1979
1980 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.
1981
1982 |(% 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**
1983 |(% 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**
1984 |(% 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
1985 |(% 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" %)——
1986 |(% 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
1987 |(% 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" %)——
1988
1989 **Error code**
1990
1991 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
1992 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
1993 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
1994
1995 **Example**
1996
1997 (% style="text-align:center" %)
1998 [[image:07-1 Basic instructions_html_bda57d807670bde2.png||height="74" width="372"]]
1999
2000 Subtract 10 from the data in D0, and store the calculation result in D2, that is, (D0)-10 → (D2).
2001
2002 == **DSUB/32-bit subtraction operation** ==
2003
2004 **DSUB(P)**
2005
2006 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).
2007
2008 -[DSUB (S1) (S2) (D)]
2009
2010 **Content, range and data type**
2011
2012 |(% 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)**
2013 |(% 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
2014 |(% 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
2015 |(% 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
2016
2017 **Device used**
2018
2019 |(% 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" %)(((
2020 **Offset modification**
2021 )))|(% style="text-align:center; vertical-align:middle" %)(((
2022 **Pulse extension**
2023 )))
2024 |(% 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**
2025 |(% 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" %)●
2026 |(% 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" %)●
2027 |(% 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" %)●
2028
2029 **Features**
2030
2031 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).
2032
2033 (% style="text-align:center" %)
2034 [[image:07-1 Basic instructions_html_f37d57bb2a3d8fad.png]]
2035
2036 Related device
2037
2038 |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content**
2039 |(% 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.
2040 |(% 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.
2041 |(% 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.
2042
2043 (% style="text-align:center" %)
2044 [[image:07-1 Basic instructions_html_f61b250c2dec5a2c.png]]
2045
2046 ✎**Note: **
2047
2048 ~1. When the source operand and destination operand are specified as the same device:
2049
2050 The source operand and destination operand can also be specified as the same device number.
2051
2052 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.
2053
2054 2. The difference between the SUB(P) instruction and the -(P) instruction and DEC(P) instruction executed by the -1 subtraction program
2055
2056 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.
2057
2058 |(% 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**
2059 |(% 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**
2060 |(% 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
2061 |(% 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" %)——
2062 |(% 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
2063 |(% 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" %)——
2064
2065 **Error code**
2066
2067 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2068 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2069 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2070
2071 **Example**
2072
2073 (% style="text-align:center" %)
2074 [[image:07-1 Basic instructions_html_e0a9b7ee38c72d67.png||height="77" width="447"]]
2075
2076 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).
2077
2078 == **MUL/16-bit multiplication** ==
2079
2080 **MUL(P)**
2081
2082 Multiply the BIN16 bits specified in (S1) with the BIN16 bits specified in (S2), and store the result in the device specified in (D).
2083
2084 -[MUL (S1) (S2) (D)]
2085
2086 **Content, range and data type**
2087
2088 |(% 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)**
2089 |(% 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
2090 |(% 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
2091 |(% 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
2092
2093 **Device used**
2094
2095 |(% 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" %)(((
2096 **Offset modification**
2097 )))|(% style="text-align:center; vertical-align:middle" %)(((
2098 **Pulse extension**
2099 )))
2100 |(% 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**
2101 |(% 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" %)●
2102 |(% 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" %)●
2103 |(% 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" %)●
2104
2105 **Features**
2106
2107 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).
2108
2109 (% style="text-align:center" %)
2110 [[image:07-1 Basic instructions_html_7bc795b98291521f.png]]
2111
2112 (D) is the multiplication result in the case of bit device
2113
2114 • K1: lower 4 bits (B0 to B3)
2115
2116 • K4: Lower 16 bits (B0 to B15)
2117
2118 • K8: Lower 32 bits (B0 to B31)
2119
2120 **Error code**
2121
2122 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2123 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2124 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2125
2126 **Example**
2127
2128 [[image:07-1 Basic instructions_html_a72970708460f454.png||height="71" width="378"]]
2129
2130 Multiply the data in (D0) by (D2), and store the operation result in (D5, D4), that is, (D0) × (D2) → (D5, D4).
2131
2132 == **DMUL/32-bit multiplication** ==
2133
2134 **DMUL(P)**
2135
2136 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).
2137
2138 -[DMUL (S1) (S2) (D)]
2139
2140 **Content, range and data type**
2141
2142 |(% 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)**
2143 |(% 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
2144 |(% 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
2145 |(% 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
2146
2147 **Device used**
2148
2149 |(% 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" %)(((
2150 **Offset modification**
2151 )))|(% style="text-align:center; vertical-align:middle" %)(((
2152 **Pulse extension**
2153 )))
2154 |(% 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**
2155 |(% 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" %)●
2156 |(% 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" %)●
2157 |(% 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" %)●
2158
2159 **Features**
2160
2161 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).
2162
2163 (% style="text-align:center" %)
2164 [[image:07-1 Basic instructions_html_1d28943293a84978.png]]
2165
2166 (D) is the multiplication result in the case of bit device
2167
2168 • K1: lower 4 bits (B0 to B3)
2169
2170 • K4: Lower 16 bits (B0 to B15)
2171
2172 • K8: Lower 32 bits (B0 to B31)
2173
2174 **Error code**
2175
2176 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2177 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2178 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2179
2180 **Example**
2181
2182 (% style="text-align:center" %)
2183 [[image:07-1 Basic instructions_html_d0ed498dee1bbd2b.png||height="70" width="356"]]
2184
2185 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)).
2186
2187 == **DIV/16-bit division operation** ==
2188
2189 **DIV(P)**
2190
2191 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).
2192
2193 -[DIV (S1) (S2) (D)]
2194
2195 **Content, range and data type**
2196
2197 |(% 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)**
2198 |(% 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
2199 |(% 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
2200 |(% 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
2201
2202 **Device used**
2203
2204 |(% 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" %)(((
2205 **Offset modification**
2206 )))|(% style="text-align:center; vertical-align:middle" %)(((
2207 **Pulse extension**
2208 )))
2209 |(% 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**
2210 |(% 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" %)●
2211 |(% 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" %)●
2212 |(% 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" %)●
2213
2214 **Features**
2215
2216 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).
2217
2218 (% style="text-align:center" %)
2219 [[image:07-1 Basic instructions_html_5b6a7b9968539f80.png]]
2220
2221 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.
2222
2223 • Quotient is stored in the lower 16 bits.
2224
2225 • The remainder is stored in the upper 16 bits. (Can only be stored in the case of word devices.)
2226
2227 ✎**Note**
2228
2229 ~1. About the opearation result
2230
2231 • The highest bit of the quotient and remainder represents the sign of positive (0) and negative (1).
2232
2233 • When one of (S1) or (S2) is negative, the quotient becomes negative. When (S1) is negative, the remainder becomes negative.
2234
2235 2. The device specified by (D)
2236
2237 • With the digit specification function, when specifying a bit device, the remainder cannot be obtained.
2238
2239 **Error code**
2240
2241 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2242 |(% style="text-align:center; vertical-align:middle" %)4080H|The input of divisor (S2) is 0
2243 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2244 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2245
2246 **Example**
2247
2248 (% style="text-align:center" %)
2249 [[image:07-1 Basic instructions_html_7966aef8d2143e29.png]]
2250
2251 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)).
2252
2253 == **DDIV/32-bit division operation** ==
2254
2255 **DDIV(P)**
2256
2257 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).
2258
2259 -[DDIV (S1) (S2) (D)]
2260
2261 **Content, range and data type**
2262
2263 |(% 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)**
2264 |(% 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
2265 |(% 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
2266 |(% 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
2267
2268 **Device used**
2269
2270 |(% 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" %)(((
2271 **Offset modification**
2272 )))|(% style="text-align:center; vertical-align:middle" %)(((
2273 **Pulse extension**
2274 )))
2275 |(% 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**
2276 |(% 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" %)●
2277 |(% 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" %)●
2278 |(% 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" %)●
2279
2280 **Features**
2281
2282 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).
2283
2284 (% style="text-align:center" %)
2285 [[image:07-1 Basic instructions_html_1b1dca7a3fa22e30.png]]
2286
2287 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.
2288
2289 ✎**Note: **
2290
2291 ~1. About the operation result
2292
2293 • The highest bit of the quotient and remainder represents the sign of positive (0) and negative (1).
2294
2295 • When one of (S1) or (S2) is negative, the quotient becomes negative. When (S1) is negative, the remainder becomes negative.
2296
2297 2. The specified device of (D)
2298
2299 • With the digit specification function, when a bit device is specified, the remainder cannot be obtained.
2300
2301 **Error code**
2302
2303 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2304 |(% style="text-align:center; vertical-align:middle" %)4080H|The input of divisor (S2) is 0
2305 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (S1) and (S2) in the read application instruction exceed the device range
2306 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2307
2308 **Example**
2309
2310 (% style="text-align:center" %)
2311 [[image:07-1 Basic instructions_html_21e85706527efeba.png]]
2312
2313 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).
2314
2315 == **INC/16-bit data increment** ==
2316
2317 **INC(P)**
2318
2319 Add one to the device (BIN 16-bit data) specified in (D).
2320
2321 -[INC (D)]
2322
2323 **Content, range and data type**
2324
2325 |(% 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)**
2326 |(% 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
2327
2328 **Device used**
2329
2330 |(% 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" %)(((
2331 **Offset modification**
2332 )))|(% style="text-align:center; vertical-align:middle" %)(((
2333 **Pulse extension**
2334 )))
2335 |(% 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**
2336 |(% 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" %)●
2337
2338 **Features**
2339
2340 Add one to the device (BIN 16-bit data) specified in (D).
2341
2342 (% style="text-align:center" %)
2343 [[image:07-1 Basic instructions_html_f35c36e39c08072.png]]
2344
2345 • 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).
2346
2347 • Flags (zero, borrow, carry) do not perform actions.
2348
2349 ✎**Note: ** If the continuous execution (INC) instruction is used, the addition operation will be performed every operation cycle, so care should be taken.
2350
2351 **Error code**
2352
2353 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2354 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2355 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2356
2357 **Example**
2358
2359 (% style="text-align:center" %)
2360 [[image:07-1 Basic instructions_html_4fe585ed449771bf.png||height="88" width="349"]]
2361
2362 Add one to the device value specified in D0, that is, (D0) + 1 → (D0).
2363
2364 == **DINC/32-bit data increment** ==
2365
2366 **DINC(P)**
2367
2368 Add one to the device (BIN 32-bit data) specified in (D).
2369
2370 -[DINC (D)]
2371
2372 **Content, range and data type**
2373
2374 |(% 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)**
2375 |(% 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
2376
2377 **Device used**
2378
2379 |(% 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" %)(((
2380 **Offset modification**
2381 )))|(% style="text-align:center; vertical-align:middle" %)(((
2382 **Pulse extension**
2383 )))
2384 |(% 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**
2385 |(% 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" %)●
2386
2387 **Features**
2388
2389 Add one to the device (BIN 32-bit data) specified in (D).
2390
2391 (% style="text-align:center" %)
2392 [[image:07-1 Basic instructions_html_7d13add7bbac367d.png]]
2393
2394 • 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).
2395
2396 • Flags (zero, borrow, carry) do not perform actions.
2397
2398 ✎**Note: ** If the continuous execution (INC) instruction is used, the addition operation will be performed every operation cycle, so care should be taken.
2399
2400 **Error code**
2401
2402 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2403 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2404 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2405
2406 **Example**
2407
2408 (% style="text-align:center" %)
2409 [[image:07-1 Basic instructions_html_9288e451278259f.png||height="83" width="330"]]
2410
2411 Add one to the device value specified in (D1, D0), that is, (D1, D0) + 1 → (D1, D0).
2412
2413
2414
2415
2416
2417
2418
2419
2420 **DEC/16 bit data decrement**
2421
2422 **DEC(P)**
2423
2424 Minus one for the device (BIN 16-bit data) specified in (D).
2425
2426 -[DEC (D)]
2427
2428 **Content, range and data type**
2429
2430 |(% 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)**
2431 |(% 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
2432
2433 **Device used**
2434
2435 |(% 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" %)(((
2436 **Offset modification**
2437 )))|(% style="text-align:center; vertical-align:middle" %)(((
2438 **Pulse extension**
2439 )))
2440 |(% 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**
2441 |(% 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" %)●
2442
2443 **Features**
2444
2445 Minus one for the device (BIN 16-bit data) specified in (D).
2446
2447 [[image:07-1 Basic instructions_html_df1a004773f12e76.png]]
2448
2449 • 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).
2450
2451 • Flags (zero, borrow, carry) do not perform actions.
2452
2453 ✎**Note: ** If using continuous execution (DEC) instructions, subtraction will be performed every operation cycle, so care should be taken.
2454
2455 **Error code**
2456
2457 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2458 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2459 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2460
2461 **Example**
2462
2463 (% style="text-align:center" %)
2464 [[image:07-1 Basic instructions_html_ebee4e241b873490.png||height="108" width="423"]]
2465
2466 Each time M0 is set, the value of the device specified in D0 will be -1, (D0)-1 → (D0).
2467
2468 == **DDEC/32-bit data decrement** ==
2469
2470 **DDEC(P)**
2471
2472 Minus one for the device (BIN 32-bit data) specified in (D).
2473
2474 -[DDEC (D)]
2475
2476 **Content, range and data type**
2477
2478 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
2479 |(D)|The word device number that stores the data minus by one|-2147483648 to 2147483647|Signed BIN 32 bit|ANY32_S
2480
2481 **Device used**
2482
2483 |(% 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" %)(((
2484 **Offset modification**
2485 )))|(% style="text-align:center; vertical-align:middle" %)(((
2486 **Pulse extension**
2487 )))
2488 |(% 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**
2489 |(% 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" %)●
2490
2491 **Features**
2492
2493 Minus one for the device (BIN 32-bit data) specified in (D).
2494
2495 (% style="text-align:center" %)
2496 [[image:07-1 Basic instructions_html_7d13add7bbac367d.png]]
2497
2498 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).
2499
2500 • Flags (zero, borrow, carry) do not perform actions.
2501
2502 ✎**Note: ** If using continuous execution (DEC) instructions, subtraction will be performed every operation cycle.
2503
2504 **Error code**
2505
2506 |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content**
2507 |(% style="text-align:center; vertical-align:middle" %)4085H|The output results of (D) in the read application instruction exceed the device range
2508 |(% style="text-align:center; vertical-align:middle" %)4086H|The output result of (D) in the write application instruction exceeds the device range
2509
2510 **Example**
2511
2512 (% style="text-align:center" %)
2513 [[image:07-1 Basic instructions_html_2f77792f36a8d549.png||height="72" width="323"]]
2514
2515 Minus one on the device value specified in (D1, D0), that is, (D1, D0)-1 → (D0).