📄 cur_mod.lst
字号:
226 0040 I_MRZERO ; ARP=AR0, AR0->FR0, AR2->i_mr
227 ;----------------------------------------------------------------------------------
228 0040 738a LT *,AR2 ; TREG = FR0 = tmp = iSq/i_mr (Q12)
229 ; ARP=AR0, AR0->FR0, AR2->i_mr, ARP=AR2
230 ;----------------------------------------------------------------------------------
231 0041 7802 ADRK #2 ; ARP=AR2, AR0->FR0, AR2->Kt
232 ;----------------------------------------------------------------------------------
233 0042 54a8 MPY *+,AR0 ; PREG = Kt*(iSq/i_mr) (Q24)
234 ; ARP=AR2, AR0->FR0, AR2->fs, ARP=AR0
235 ;----------------------------------------------------------------------------------
236 0043 be03 PAC ; ACC = Kt*(iSq/i_mr) (Q24)
237 ; ARP=AR0, AR0->FR0, AR2->fs
238 ;----------------------------------------------------------------------------------
239 0044 9c80 SACH *,4 ; FR0 = tmp = Kt*(iSq/i_mr) = slip (Q12)
240 ; ARP=AR0, AR0->FR0, AR2->fs
241 ;----------------------------------------------------------------------------------
242 0045 1080 LACC * ; ACC = FR0 = tmp = Kt*(iSq/i_mr) = slip (Q12)
243 ; ARP=AR0, AR0->FR0, AR2->fs
244 ;----------------------------------------------------------------------------------
245 0046 7802 ADRK #2 ; ARP=AR0, AR0->FR2, AR2->fs
246 ;----------------------------------------------------------------------------------
247 0047 208a ADD *,AR2 ; ACC = Kt*(iSq/i_mr) + n (Q12)
248 ; ARP=AR0, AR0->FR2, AR2->fs, ARP=AR2
249 ;----------------------------------------------------------------------------------
250 0048 9080 SACL * ; fs = Kt*(iSq/i_mr) + n (Q12)
251 ; ARP=AR2, AR0->FR2, AR2->fs
252 ;----------------------------------------------------------------------------------
253 ; *** rotor flux position calculation ***
254 ;----------------------------------------------------------------------------------
255 0049 10a8 LACC *+,AR0 ; ACC = fs (Q12)
256 ; ARP=AR2, AR0->FR2, AR2->K, ARP=AR0
257 ;----------------------------------------------------------------------------------
258 004a be00 ABS ; ACC = |fs| (Q12)
259 ; ARP=AR0, AR0->FR2, AR2->K
260 ;----------------------------------------------------------------------------------
261 004b 9080 SACL * ; FR2 = tmp = |fs| (Q12)
262 ; ARP=AR0, AR0->FR2, AR2->K
263 ;----------------------------------------------------------------------------------
264 004c 738a LT *,AR2 ; TREG = FR2 = tmp = |fs| (Q12)
265 ; ARP=AR0, AR0->FR2, AR2->K, ARP=AR2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:26 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
cur_mod.asm PAGE 6
266 ;----------------------------------------------------------------------------------
267 004d 5498 MPY *-,AR0 ; PREG = K*|fs| (Q12)
268 ; ARP=AR2, AR0->FR2, AR2->fs, ARP=AR0
269 ;----------------------------------------------------------------------------------
270 004e be03 PAC ; ACC = K*|fs| (Q12)
271 ; ARP=AR0, AR0->FR2, AR2->fs
272 ;----------------------------------------------------------------------------------
273 004f 9c8a SACH *,4,AR2 ; FR2 = tetaincr = K*|fs| (Q0)
274 ; ARP=AR0, AR0->FR2, AR2->fs, ARP=AR2
275 ;----------------------------------------------------------------------------------
276 0050 4088 BIT *,0,AR0 ; TC bit in ST1 register = fs(bit15) = MSB of fs
277 ; ARP=AR2, AR0->FR2, AR2->fs, ARP=AR0
278 ;----------------------------------------------------------------------------------
279 0051 e100 BCND FS_NEG,TC ; Branch to FS_NEG if TC = 1 or fs < 0
0052 0059'
280 ; ARP=AR0, AR0->FR2, AR2->fs
281 ;----------------------------------------------------------------------------------
282 0053 698a LACL *,AR2 ; ACC = FR2 = tetaincr (Q0)
283 ; ARP=AR0, AR0->FR2, AR2->fs, ARP=AR2
284 ;----------------------------------------------------------------------------------
285 0054 7802 ADRK #2 ; ARP=AR2, AR0->FR2, AR2->Teta_cm
286 ;----------------------------------------------------------------------------------
287 0055 6280 ADDS * ; ACC = Teta_cm + tetaincr (Q0)
288 ; ARP=AR2, AR0->FR2, AR2->Teta_cm
289 ;----------------------------------------------------------------------------------
290 0056 90a0 SACL *+ ; Teta_cm = Teta_cm + tetaincr (Q0)
291 ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
292 ;----------------------------------------------------------------------------------
293 0057 7980 B FS_POS ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
0058 005e'
294 ;----------------------------------------------------------------------------------
295 0059 FS_NEG ; ARP=AR0, AR0->FR2, AR2->fs
296 ;----------------------------------------------------------------------------------
297 0059 8b8a MAR *,AR2 ; ARP=AR2, AR0->FR2, AR2->fs
298 ;----------------------------------------------------------------------------------
299 005a 7802 ADRK #2 ; ARP=AR2, AR0->FR2, AR2->Teta_cm
300 ;----------------------------------------------------------------------------------
301 005b 6988 LACL *,AR0 ; ACC = Teta_cm (Q0)
302 ; ARP=AR2, AR0->FR2, AR2->Teta_cm, ARP=AR0
303 ;----------------------------------------------------------------------------------
304 005c 668a SUBS *,AR2 ; ACC = Teta_cm - tetaincr (Q0)
305 ; ARP=AR0, AR0->FR2, AR2->Teta_cm, ARP=AR2
306 ;----------------------------------------------------------------------------------
307 005d 90a0 SACL *+ ; Teta_cm = Teta_cm - tetaincr (Q0)
308 ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
309 ;----------------------------------------------------------------------------------
310 005e FS_POS ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
311 ;----------------------------------------------------------------------------------
312 005e be0a SFR ; ACC = Teta_cm (0-FFFFh)->(0-7FFFh)=(0-360) (Q15)
313 ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
314 ;----------------------------------------------------------------------------------
315 005f bfb0 AND #7FFFh ; Force theta_cur_mod around 0-7FFFh
0060 7fff
316 ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:26 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
cur_mod.asm PAGE 7
317 ;----------------------------------------------------------------------------------
318 0061 9089 SACL *,AR1 ; theta_cur_mod = Teta_cm (Q15)
319 ; ARP=AR2, AR0->FR2, AR2->theta_cur_mod, ARP=AR1
320 ;----------------------------------------------------------------------------------
321 0062 _cur_mod_calc_exit:
322 ;; MAR *,AR1 ; can be removed if this condition is met on
323 ; every path to this code. (i.e., ARP=AR1 here)
324
325 0062 be42 CLRC OVM
326 0063 be46 CLRC SXM
327
328 0064 7c04 SBRK #(__cur_mod_calc_framesize+1)
329 0065 0090 LAR AR0,*-
330 0066 7680 PSHD *
331
332 0067 ef00 RET
333
334
335
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -