📄 pid_reg2.lst
字号:
001e 002b'
152 ; If (upi_reg2 + min_reg2) < 0 go to label
153 ; __PID2_Sat_Minus_Io
154 ; ARP = AR3. AR3 -> min_reg2
155 ;--------------------------------------------------------------------------------
156 001f 7c03 SBRK #3 ; AR3 -> upi_reg2
157 ; ARP = AR3.
158 ;--------------------------------------------------------------------------------
159 0020 1080 LACC * ; ACC[Q15] = upi_reg2[Q15]
160 ; AR3 -> upi_reg2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:19 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
pid_reg2.asm PAGE 4
161 ; ARP = AR3.
162 ;--------------------------------------------------------------------------------
163 0021 7802 ADRK #2 ; AR3 -> max_reg2
164 ; ARP = AR3.
165 ;--------------------------------------------------------------------------------
166 0022 3080 SUB * ; ACC = upi_reg2 - max_reg2
167 ; ARP = AR3
168 ; AR3 -> max_reg2
169 ; ARP = AR3.
170 ;--------------------------------------------------------------------------------
171 0023 e38c BCND __PID2_Sat_Plus_Io, GEQ
0024 002f'
172 ; If (upi_reg2 - max_reg2) >= 0 go to
173 ; label __PID2_Sat_Plus_Io
174 ; AR3 -> max_reg2
175 ; ARP = AR3.
176 ;--------------------------------------------------------------------------------
177 0025 7c02 SBRK #2 ; AR3 -> upi_reg2
178 ; ARP = AR3.
179 ;--------------------------------------------------------------------------------
180 0026 1080 LACC * ; ACC = upi_reg2
181 ; ARP = AR3. AR3 -> upi_reg2
182 ;--------------------------------------------------------------------------------
183 0027 7804 ADRK #4 ; AR3 -> out_reg2
184 ; ARP = AR3
185 ;--------------------------------------------------------------------------------
186 0028 9080 SACL * ; out_reg2[Q15] = upi_reg2[Q15]
187 ; AR3 -> out_reg2
188 ; ARP = AR3
189 ;--------------------------------------------------------------------------------
190 0029 7980 B __PID2_Fwd_Io
002a 0032'
191 ; AR3 -> out_reg2
192 ; ARP = AR3
193 ;--------------------------------------------------------------------------------
194 ;Saturation control
195 002b __PID2_Sat_Minus_Io:
196 ; AR3 -> out_reg2
197 002b 10a0 LACC *+ ; ACC = min_reg2.
198 ; ARP = AR3.
199 ;--------------------------------------------------------------------------------
200 002c 9080 SACL * ; out_reg2[Q15] = min_reg2[Q15]
201 ; ARP = AR3.
202 ; AR3 -> out_reg2
203 ;--------------------------------------------------------------------------------
204 002d 7980 B __PID2_Fwd_Io
002e 0032'
205 ; ARP = AR3.
206 ; AR3 -> out_reg2
207 ;--------------------------------------------------------------------------------
208 002f __PID2_Sat_Plus_Io:
209 ; AR3 -> max_reg2
210 002f 1080 LACC * ; ACC = max_reg2
211 ; ARP = AR3.
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:19 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
pid_reg2.asm PAGE 5
212 ;--------------------------------------------------------------------------------
213 0030 7802 ADRK #2 ; AR3 -> out_reg2
214 ; ARP = AR3.
215 ;--------------------------------------------------------------------------------
216 0031 9080 SACL * ; out_reg2[Q15] = max_reg2[Q15]
217 ; AR3 -> out_reg2
218 ; ARP = AR3.
219 ;--------------------------------------------------------------------------------
220 0032 __PID2_Fwd_Io:
221 ; AR3 -> out_reg2
222 0032 1080 LACC * ; ACC = out_reg2[Q15]
223 ; ARP = AR3.
224 ;--------------------------------------------------------------------------------
225 0033 7c04 SBRK #4 ; AR3 -> upi_reg2
226 ; ARP = AR3.
227 ;--------------------------------------------------------------------------------
228 0034 30a0 SUB *+ ; ACC = out_reg2[Q15] - upi_reg2[Q15]
229 ; ARP = AR3. AR3 -> epi_reg2
230 ;--------------------------------------------------------------------------------
231 ; AR3 -> epi_reg2
232 0035 9080 SACL * ; epi_reg2 = out_reg2 - Upi_reg2
233 ; ARP = AR3
234 ;--------------------------------------------------------------------------------
235 0036 7380 LT * ; TREG = epi_reg2[Q15]
236 ; ARP = AR3. AR3 -> epi_reg2
237 ;--------------------------------------------------------------------------------
238 0037 7c04 SBRK #4 ; AR3 -> kc_reg2[Q13]
239 ; ARP = AR3
240 ;--------------------------------------------------------------------------------
241 0038 5480 MPY * ; PREG[Q28] = kc_reg2[Q13] * epi_reg2[Q15]
242 ; ARP = AR3
243 ; AR3 -> kc_reg2[Q13]
244 ;--------------------------------------------------------------------------------
245 0039 be03 PAC ; ACC[Q28] = PREG[Q28]
246 ; ARP = AR3
247 ; AR3 -> kc_reg2[Q13]
248 ;--------------------------------------------------------------------------------
249 003a 7802 ADRK #2 ; AR3 -> en0_reg2
250 ; ARP = AR3
251 ;--------------------------------------------------------------------------------
252 003b 7380 LT * ; TREG -> en0_reg2[Q15]
253 ; AR3 -> en0_reg2
254 ; ARP = AR3
255 ;--------------------------------------------------------------------------------
256 003c 7c03 SBRK #3 ; AR3 -> k1_reg2[Q13]
257 ; ARP = AR3
258 ;--------------------------------------------------------------------------------
259 003d 5480 MPY * ; PREG[Q28] = k1_reg2[Q13] * en0_reg2[Q15]
260 ; AR3 -> k1_reg2[Q13]
261 ; ARP = AR3
262 ;--------------------------------------------------------------------------------
263 003e be04 APAC ; ACC[Q28] = K1_reg2[Q13] * En0_reg2[Q15])[Q28]
264 ; + (Kc_reg2[Q13] * epi_reg2[Q15])[Q28]
265 ; AR3 -> k1_reg2[Q13]
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:19 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
pid_reg2.asm PAGE 6
266 ; ARP = AR3
267 ;--------------------------------------------------------------------------------
268 003f 7802 ADRK #2 ; AR3 -> un_reg2
269 ; ARP = AR3
270 ;--------------------------------------------------------------------------------
271 0040 2d80 ADD *, 13 ; ACC[Q28] = K1_reg2[Q13] * En0_reg2[Q15])[Q28]
272 ; + (Kc_reg2[Q13] * epi_reg2[Q15])[Q28] +
273 ; (un_reg2[Q15] << 13)[Q28]
274 ; AR3 -> un_reg2
275 ; ARP = AR3
276 ;--------------------------------------------------------------------------------
277 0041 bb02 RPT #2
278 0042 a080 NORM * ; ACC[Q31].
279 0043 8b00 NOP ; ARP = AR3. AR3 -> un_reg2
280 0044 8b00 NOP ; NOP is used to avoid "pipe line conflict"
281 ;--------------------------------------------------------------------------------
282
283 0045 9889 SACH *, AR1 ; un_reg2[Q15] = (Higher order 16 bits of
284 ; ACC[Q31])[Q15]
285 ; ARP = AR1
286
287 ; Note: ARP = AR1 in preparation for exit.
288 ;================================================================================
289 0046 __pid2_calc_exit:
290
291 0046 7c02 SBRK #(__PID2_framesize + 1)
292 ; deallocate frame. Point to saved FP
293 ; ARP = AR1
294 0047 0090 LAR AR0, *- ; Restore frame pointer. ARP = AR1
295 0048 7680 PSHD * ; Push return address on Hardware stack. ARP = AR1
296 0049 ef00 RET ; Return to the parent function. ARP = AR1
297
298 .end
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -