📄 iclark.lst
字号:
C:\TIC2XX\C2000\CGTOOLS\BIN\DSPA.EXE -q -v2xx -gs iclark.asm -o ..\obj\iclark.obj -l ..\temp\iclark.lst
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:05 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
iclark.asm PAGE 1
1 ;=====================================================================================
2 ; File name: ICLARK.ASM
3 ;
4 ; Originator: Digital Control Systems Group
5 ; Texas Instruments
6 ;
7 ; Description:
8 ; This file contains source for the inverse clark transformation.
9 ;=====================================================================================
10 ; History:
11 ;-------------------------------------------------------------------------------------
12 ; 9-15-2000 Release Rev 1.0
13 ;================================================================================
14 ; Applicability: F240,F241,C242,F243,F24xx. (Peripheral Independant).
15 ; Description:
16 ; (d,q) -> (a,b,c) Transformation
17 ; clark_a = clark_q
18 ; clark_b = (-clark_q/2 + sqrt(3)/2 * clark_d)
19 ; clark_c = (-clark_q/2 - sqrt(3)/2 * clark_d)
20 ;
21 ;
22 ;================================================================================
23 ; Routine Name: Generic function. Routine Type: C Callable
24 ;
25 ; Description:
26 ;
27 ; C prototype : int invclark(void *in, void *out)
28 ;================================================================================
29 .def _invclark
30 ;================================================================================
31
32 0001 __invclark_framesize .set 0001h
33 ;================================================================================
34 0000 _invclark:
35 0000 8aa0 POPD *+
36 0001 80a0 SAR AR0,*+
37 0002 8180 SAR AR1,*
38 0003 b001 LARK AR0,__invclark_framesize
39 0004 00e8 LAR AR0,*0+,AR0
40
41 ;================================================================================
42 0005 7c03 SBRK #3 ; Point AR0 to the first argument.
43 ;--------------------------------------------------------------------------------
44 0006 0290 LAR AR2,*- ; get the argument #1 in AR2.
45 ; ARP=AR0, AR2->i/p s, AR0->arg #2.
46 ;--------------------------------------------------------------------------------
47 0007 03a0 LAR AR3,*+ ; get the argument #1 in AR2.
48 ; ARP=AR0, AR0->arg #2, AR2->i/p's, AR3->o/p's.
49 ;--------------------------------------------------------------------------------
50 0008 7803 ADRK #3 ; Restore AR0 to point to FR0.
51 ; ARP=AR0, AR0->FR0, AR2->i/p's, AR3->o/p's.
52 ;--------------------------------------------------------------------------------
53 0009 bf01 SPM 1 ; Set SPM for Q15 multiplication
54 ;--------------------------------------------------------------------------------
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:05 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
iclark.asm PAGE 2
55 000a be47 SETC SXM ; Sign extension mode on
56 ;--------------------------------------------------------------------------------
57 000b 8b8a MAR *,AR2 ; ARP=AR2, AR0->FR0, AR2->clark_d AR3->clark_a
58 ;--------------------------------------------------------------------------------
59 000c 7801 ADRK #1 ; ARP=AR2, AR0->FR0, AR2->clark_q AR3->clark_a
60 ;--------------------------------------------------------------------------------
61 000d 109b LACC *-,AR3 ; ACC= clark_q.
62 ; ARP=AR3, AR0->FR0, AR2->clark_d, AR3->clark_a
63 ;--------------------------------------------------------------------------------
64 000e 90a8 SACL *+,AR0 ; Store clark_a=clark_q
65 ; ARP=AR0, AR0->FR0, AR2->clark_d, AR3->clark_b
66 ;--------------------------------------------------------------------------------
67 000f ae80 SPLK #28378,* ;FR0=sqrt(3)/2
0010 6eda
68 ; ARP=AR0, AR0->FR0, AR2->clark_d, AR3->clark_b
69 ;--------------------------------------------------------------------------------
70 0011 738a LT *,AR2 ; TREG = sqrt(3)/2.
71 ; ARP=AR2, AR0->FR0, AR2->clark_d, AR3->clark_b
72 ;--------------------------------------------------------------------------------
73 0012 54a8 MPY *+,AR0 ; PREG = clark_d * sqrt(3)/2.
74 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_b
75 ;--------------------------------------------------------------------------------
76 0013 be03 PAC ; ACC = clark_d * sqrt(3)/2.
77 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_b
78 ;--------------------------------------------------------------------------------
79 0014 988a SACH *,AR2 ; FR0 = clark_d * sqrt(3)/2.
80 ; ARP=AR2, AR0->FR0, AR2->clark_q, AR3->clark_b
81 ;--------------------------------------------------------------------------------
82 0015 6a88 LACC *,16,AR0 ; ACCH = clark_q
83 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_b
84 ;--------------------------------------------------------------------------------
85 0016 be02 NEG ; ACCH = -clark_q
86 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_b
87 ;--------------------------------------------------------------------------------
88 0017 be0a SFR ; ACCH = -clark_q /2
89 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_b
90 ;--------------------------------------------------------------------------------
91 0018 618b ADD *,16,AR3 ; ACCH = -clark_q /2 + clark_d * sqrt(3)/2
92 ; ARP=AR3, AR0->FR0, AR2->clark_q, AR3->clark_b
93 ;--------------------------------------------------------------------------------
94 0019 98a8 SACH *+,AR0 ; Store clark_b.
95 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_c
96 ;--------------------------------------------------------------------------------
97 001a 6580 SUB *,16 ; ACCH = -clark_q /2 + clark_d * sqrt(3)/2
98 ; - clark_d * sqrt(3)/2.
99 ; i.e. ACCH = -clark_q/2
100 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_c
101 ;--------------------------------------------------------------------------------
102 001b 658b SUB *,16,AR3 ; ACCH = -clark_q/2 - clark_d * sqrt(3)/2.
103 ; = clark_c
104 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_c
105 ;--------------------------------------------------------------------------------
106 001c 9889 SACH *,AR1 ; Store clark_c.
107 ; ARP=AR0, AR0->FR0, AR2->clark_q, AR3->clark_c
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:05 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
iclark.asm PAGE 3
108 ;--------------------------------------------------------------------------------
109 001d bf00 SPM 0
110 ;--------------------------------------------------------------------------------
111 001e __invclark_exit:
112 001e 7c02 SBRK #(__invclark_framesize+1)
113 001f 0090 LAR AR0,*-
114 0020 7680 PSHD *
115 0021 ef00 RET
116
117
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -