Version 16.1 by Jim(Forgotten) on 2022/07/13 14:25

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