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