📄 filter.lst
字号:
C:\tic2xx\c2000\cgtools\bin\dspa.exe FILTER.asm FILTER.obj -gls -v2xx
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999 Texas Instruments Incorporated
FILTER.asm PAGE 1
1 ;=====================================================================
2 ; File name : FILTER.asm
3 ; Module Name : FILTER
4 ; Description : 防脉冲平均值滤波器
5 ;
6 ;
7 ; |~~~~~~~~~~~~~~~|
8 ; | |
9 ; IST0 o----> | FILTER |----->o FILTER_RESULT
10 ; (FILTER_Y1-6) | |
11 ; |______________ |
12 ; 2004.9.22
13 ;=====================================================================
14 .include "f2407.h"
15
16 .global FILTER,FILTER_INIT ;function call
17
18 .global IST0 ;input
19 .global FILTER_Y1,FILTER_Y2,FILTER_Y3,FILTER_Y4
20 .global FILTER_Y5,FILTER_Y6,FILTER_Y7,FILTER_Y8,FILTER_Y9,FILTER_Y10
21 .global TEMP,FILTER_RESULT,FILTER_MAX,FILTER_MIN,FILTER_COUNT
22
23 ;=====================================================================
24 0000 FILTER_INIT:
25 ;=====================================================================
26 0000 bc04 LDP #DP_DATA
27 0001 ae00! SPLK #0,FILTER_COUNT
0002 0000
28 0003 ae00! SPLK #0,FILTER_RESULT
0004 0000
29 0005 ef00 RET
30 ;=====================================================================
31 0006 FILTER:
32 ;=====================================================================
33 0006 bf00 SPM 0
34 0007 be47 SETC SXM
35 ;-----------------------------------------------------------
36 0008 bc04 LDP #DP_DATA
37 0009 1000! LACC IST0
38 000a 9000! SACL FILTER_Y1 ;IST0暂存到FILTER_Y1
39 ;-------------
40 ;判断是否10个值都有。
41 000b 1000! LACC FILTER_COUNT
42 000c ba0a SUB #10
43 000d e304 BCND FILTER_CAL,GT
000e 0013'
44 000f b80b ADD #11
45 0010 9000! SACL FILTER_COUNT ;否则加1(已经减10,所以加11)
46 0011 7980 B END_FILTER
0012 0091'
47 ; 计算FILTER_MAX
48 0013 1000! FILTER_CAL: LACC FILTER_Y1
49 0014 9000! SACL FILTER_MAX ;Y1最大,ACC=Y1
50 0015 3000! SUB FILTER_Y2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999 Texas Instruments Incorporated
FILTER.asm PAGE 2
51 0016 e304 BCND NEXT1,GT ;FILTER_Y1>FILTER_Y2时跳到NEXT1
0017 001a'
52 0018 1000! LACC FILTER_Y2
53 0019 9000! SACL FILTER_MAX ;Y2最大,ACC=Y2
54 001a NEXT1:
55 001a 1000! LACC FILTER_MAX
56 001b 3000! SUB FILTER_Y3
57 001c e304 BCND NEXT2,GT ;FILTER_MAX>FILTER_Y3时跳到NEXT2
001d 0020'
58 001e 1000! LACC FILTER_Y3
59 001f 9000! SACL FILTER_MAX ;Y3最大
60 0020 NEXT2:
61 0020 1000! LACC FILTER_MAX
62 0021 3000! SUB FILTER_Y4
63 0022 e304 BCND NEXT7,GT ;FILTER_MAX>FILTER_Y4时跳到NEXT3
0023 0026'
64 0024 1000! LACC FILTER_Y4
65 0025 9000! SACL FILTER_MAX ;Y4最大
66 0026 NEXT7:
67 0026 1000! LACC FILTER_MAX
68 0027 3000! SUB FILTER_Y5
69 0028 e304 BCND NEXT8,GT ;FILTER_MAX>FILTER_Y5时跳
0029 002c'
70 002a 1000! LACC FILTER_Y5
71 002b 9000! SACL FILTER_MAX ;Y5最大
72 002c NEXT8:
73 002c 1000! LACC FILTER_MAX
74 002d 3000! SUB FILTER_Y6
75 002e e304 BCND NEXT11,GT ;FILTER_MAX>FILTER_Y6时跳
002f 0032'
76 0030 1000! LACC FILTER_Y6
77 0031 9000! SACL FILTER_MAX ;Y6最大
78 0032 NEXT11:
79 0032 1000! LACC FILTER_MAX
80 0033 3000! SUB FILTER_Y7
81 0034 e304 BCND NEXT12,GT
0035 0038'
82 0036 1000! LACC FILTER_Y7
83 0037 9000! SACL FILTER_MAX
84 0038 NEXT12:
85 0038 1000! LACC FILTER_MAX
86 0039 3000! SUB FILTER_Y8
87 003a e304 BCND NEXT13,GT
003b 003e'
88 003c 1000! LACC FILTER_Y8
89 003d 9000! SACL FILTER_MAX
90 003e NEXT13:
91 003e 1000! LACC FILTER_MAX
92 003f 3000! SUB FILTER_Y9
93 0040 e304 BCND NEXT14,GT
0041 0044'
94 0042 1000! LACC FILTER_Y9
95 0043 9000! SACL FILTER_MAX
96 0044 NEXT14:
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999 Texas Instruments Incorporated
FILTER.asm PAGE 3
97 0044 1000! LACC FILTER_MAX
98 0045 3000! SUB FILTER_Y10
99 0046 e304 BCND NEXT3,GT
0047 004a'
100 0048 1000! LACC FILTER_Y10
101 0049 9000! SACL FILTER_MAX
102 ; 计算FILTER_MIN
103 004a NEXT3:
104 004a 1000! LACC FILTER_Y1
105 004b 9000! SACL FILTER_MIN ;Y1最小
106 004c 3000! SUB FILTER_Y2
107 004d e344 BCND NEXT4,LT ;FILTER_Y2>FILTER_Y1时跳转
004e 0051'
108 004f 1000! LACC FILTER_Y2
109 0050 9000! SACL FILTER_MIN ;Y2最小
110 0051 NEXT4:
111 0051 1000! LACC FILTER_MIN
112 0052 3000! SUB FILTER_Y3
113 0053 e344 BCND NEXT5,LT ;FILTER_Y3>FILTER_MIN时跳
0054 0057'
114 0055 1000! LACC FILTER_Y3
115 0056 9000! SACL FILTER_MIN ;Y3最小
116 0057 NEXT5:
117 0057 1000! LACC FILTER_MIN
118 0058 3000! SUB FILTER_Y4
119 0059 e344 BCND NEXT9,LT ;FILTER_Y4>FILTER_MIN时跳
005a 005d'
120 005b 1000! LACC FILTER_Y4
121 005c 9000! SACL FILTER_MIN ;Y4最小
122 005d NEXT9:
123 005d 1000! LACC FILTER_MIN
124 005e 3000! SUB FILTER_Y5
125 005f e344 BCND NEXT10,LT ;FILTER_Y5>FILTER_MIN时跳
0060 0063'
126 0061 1000! LACC FILTER_Y5
127 0062 9000! SACL FILTER_MIN ;Y5最小
128 0063 NEXT10:
129 0063 1000! LACC FILTER_MIN
130 0064 3000! SUB FILTER_Y6
131 0065 e344 BCND NEXT15,LT ;FILTER_Y6>FILTER_MIN时跳
0066 0069'
132 0067 1000! LACC FILTER_Y6
133 0068 9000! SACL FILTER_MIN ;Y6最小
134 0069 NEXT15:
135 0069 1000! LACC FILTER_MIN
136 006a 3000! SUB FILTER_Y7
137 006b e344 BCND NEXT16,LT
006c 006f'
138 006d 1000! LACC FILTER_Y7
139 006e 9000! SACL FILTER_MIN
140 006f NEXT16:
141 006f 1000! LACC FILTER_MIN
142 0070 3000! SUB FILTER_Y8
143 0071 e344 BCND NEXT17,LT
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999 Texas Instruments Incorporated
FILTER.asm PAGE 4
0072 0075'
144 0073 1000! LACC FILTER_Y8
145 0074 9000! SACL FILTER_MIN
146 0075 NEXT17:
147 0075 1000! LACC FILTER_MIN
148 0076 3000! SUB FILTER_Y9
149 0077 e344 BCND NEXT18,LT
0078 007b'
150 0079 1000! LACC FILTER_Y9
151 007a 9000! SACL FILTER_MIN
152 007b NEXT18:
153 007b 1000! LACC FILTER_MIN
154 007c 3000! SUB FILTER_Y10
155 007d e344 BCND NEXT6,LT
007e 0081'
156 007f 1000! LACC FILTER_Y10
157 0080 9000! SACL FILTER_MIN
158 ;---------------
159 0081 NEXT6:
160 0081 1000! LACC FILTER_Y1
161 0082 2000! ADD FILTER_Y2
162 0083 2000! ADD FILTER_Y3
163 0084 2000! ADD FILTER_Y4
164 0085 2000! ADD FILTER_Y5
165 0086 2000! ADD FILTER_Y6
166 0087 2000! ADD FILTER_Y7
167 0088 2000! ADD FILTER_Y8
168 0089 2000! ADD FILTER_Y9
169 008a 2000! ADD FILTER_Y10
170 008b 3000! SUB FILTER_MAX
171 008c 3000! SUB FILTER_MIN
172 008d be0a SFR
173 008e be0a SFR
174 008f be0a SFR ;算术右移一位,相当于除2。
175 0090 9000! SACL FILTER_RESULT ;滤波结果。
176 ;---------------
177 ;把Y值前移。
178 0091 1000! END_FILTER: LACC FILTER_Y9
179 0092 9000! SACL FILTER_Y10
180 0093 1000! LACC FILTER_Y8
181 0094 9000! SACL FILTER_Y9
182 0095 1000! LACC FILTER_Y7
183 0096 9000! SACL FILTER_Y8
184 0097 1000! LACC FILTER_Y6
185 0098 9000! SACL FILTER_Y7
186 0099 1000! LACC FILTER_Y5
187 009a 9000! SACL FILTER_Y6
188 009b 1000! LACC FILTER_Y4
189 009c 9000! SACL FILTER_Y5
190 009d 1000! LACC FILTER_Y3
191 009e 9000! SACL FILTER_Y4
192 009f 1000! LACC FILTER_Y2
193 00a0 9000! SACL FILTER_Y3
194 00a1 1000! LACC FILTER_Y1
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999 Texas Instruments Incorporated
FILTER.asm PAGE 5
195 00a2 9000! SACL FILTER_Y2
196 ;---------------------------------------------------------------------------
197 00a3 bf00 SPM 0
198 00a4 be47 SETC SXM
199 00a5 ef00 RET
200
No Errors, No Warnings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -