📄 c2cx0032.lst
字号:
1 $else
1 $if x?=8
1 call macro8
1 $else
1 lar ar7,#:num:/divid-2 ; execute ZEROI + num-1 times BUTTFLYI
1 call macros
1 $endif
1 $endif
181 01fe 7b9a banz loop4,*-,ar2
01ff 01f9+
182 ;
183 ; FFT CODE FOR STAGE 5 / ARP=AR2
184 ;
185 0200 0101- STAGE5: lar ar1,DATAADD ; ar1 -> DATA
186 0201 020a- lar ar2,DATA32 ; ar2 -> DATA+32
187 ;
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Sat Jul 14 16:18:01 2001
Copyright (c) 1987-1999 Texas Instruments Incorporated
0032 point DIT Radix-2, Complex FFT PAGE 14
188 0202 030c- lar ar3,cos5 ; start of cosine in stage 5
189 0203 040b- lar ar4,sin5 ; start of sine in stage 5
190 0204 do_loops 16 ; setup for 16 butterflies
1 0204 b702 lar ar7,#16/divid-2 ; execute ZEROI + num-1 times BUTTFLYI
191 0205 ex_btfly ; execute the butterflies
1
1 0205 b002 macros: lar ar0,#2
1
1 0206 ZEROI ; execute macro ZEROI
2 0206 1f89 LACC *,15,AR1 ; ACC := (1/2)(QR) PR QR 1
2 0207 2f80 ADD *,15 ; ACC := (1/2)(PR+QR) PR QR 1
2 0208 98aa SACH *+,0,AR2 ; PR := (1/2)(PR+QR) PI QR 2
2 0209 6580 SUB *,16 ; ACC := (1/2)(PR+QR)-(QR) PI QR 2
2 020a 98a0 SACH *+ ; QR := (1/2)(PR-QR) PI QI 2
2 ;
2 020b 1f89 LACC *,15,AR1 ; ACC := (1/2)(QI) PI QI 1
2 020c 2f80 ADD *,15 ; ACC := (1/2)(PI+QI) PI QI 1
2 020d 98aa SACH *+,0,AR2 ; PI := (1/2)(PI+QI) PR+1 QI 2
2 020e 6580 SUB *,16 ; ACC := (1/2)(PI+QI)-(QI) PR+1 QI 2
2 020f 98a0 SACH *+ ; QI := (1/2)(PI-QI) PR+1 QR+1 2
1 0210 73ab LT *+,AR3 ;TREG:= QR
1
1 $if divid=4
1 0211 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
2 ; LT *+,AR3 ;TREG:= QR QR PR QI C S 3
2 0211 548a MPY *,AR2 ;PREG:= QR*WR/2 QR PR QI C S 2
2 0212 719c LTP *-,AR4 ;ACC := QR*WR/2 QI PR QR C S 4
2 0213 548b MPY *,AR3 ;PREG:= QI*WI/2 QI PR QR C S 3
2 0214 50aa MPYA *+,AR2 ;ACC := (QR*WR+QI*WI)/2 QR PR QR C+1 S 2
2 ; PREG:= QI*WR
2 0215 738d LT *,AR5 ;TREG = QR QR PR QR C+1 S 5
2 0216 9989 SACH *,1,AR1 ;TEMP:= (QR*WR+QI*WI) QR PR QR C+1 S 1
2 ;
2 0217 2f80 ADD *,15 ;ACC := (PR+(QR*WR+QI*WI))/2 QR PR QR C+1 S 1
2 0218 98ad SACH *+,0,AR5 ;PR := (PR+(QR*WR+QI*WI))/2 QR PI QR C+1 S 5
2 0219 658a SUB *,16,AR2 ;ACC := (PR-(QR*WR+QI*WI))/2 QR PI QR C+1 S 2
2 021a 98e9 SACH *0+,0,AR1 ;QR := (PR-(QR*WR+QI*WI))/2 QR PI QR+1 C+1 S 1
2 ;
2 021b 1f8c LAC *,15,AR4 ;ACC := PI /PREG=QI*WR QI PI QR+1 C+1 S 4
2 021c 51aa MPYS *+,AR2 ;PREG:= QR*WI/2 QI PI QR+1 C+1 S+1 2
2 ; ;ACC := (PI-QI*WR)/2
2 021d 7090 LTA *- ;ACC := (PI-(QI*WR-QR*WI))/2 QR1 PI QI C+1 S+1 2
2 021e 98e9 SACH *0+,0,AR1 ;QI := (PI-(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 021f be02 NEG ;ACC :=(-PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0220 6180 ADD *,16 ;ACC := (PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0221 98ab SACH *+,0,AR3 ;PI := (PI+(QI*WR-QR*WI))/2 QR1 PR+1 QI+1 C+1 S+1 3
2
1 0222 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
2 ; LT *+,AR3 ;TREG:= QR QR PR QI C S 3
2 0222 548a MPY *,AR2 ;PREG:= QR*WR/2 QR PR QI C S 2
2 0223 719c LTP *-,AR4 ;ACC := QR*WR/2 QI PR QR C S 4
2 0224 548b MPY *,AR3 ;PREG:= QI*WI/2 QI PR QR C S 3
2 0225 50aa MPYA *+,AR2 ;ACC := (QR*WR+QI*WI)/2 QR PR QR C+1 S 2
2 ; PREG:= QI*WR
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Sat Jul 14 16:18:01 2001
Copyright (c) 1987-1999 Texas Instruments Incorporated
0032 point DIT Radix-2, Complex FFT PAGE 15
2 0226 738d LT *,AR5 ;TREG = QR QR PR QR C+1 S 5
2 0227 9989 SACH *,1,AR1 ;TEMP:= (QR*WR+QI*WI) QR PR QR C+1 S 1
2 ;
2 0228 2f80 ADD *,15 ;ACC := (PR+(QR*WR+QI*WI))/2 QR PR QR C+1 S 1
2 0229 98ad SACH *+,0,AR5 ;PR := (PR+(QR*WR+QI*WI))/2 QR PI QR C+1 S 5
2 022a 658a SUB *,16,AR2 ;ACC := (PR-(QR*WR+QI*WI))/2 QR PI QR C+1 S 2
2 022b 98e9 SACH *0+,0,AR1 ;QR := (PR-(QR*WR+QI*WI))/2 QR PI QR+1 C+1 S 1
2 ;
2 022c 1f8c LAC *,15,AR4 ;ACC := PI /PREG=QI*WR QI PI QR+1 C+1 S 4
2 022d 51aa MPYS *+,AR2 ;PREG:= QR*WI/2 QI PI QR+1 C+1 S+1 2
2 ; ;ACC := (PI-QI*WR)/2
2 022e 7090 LTA *- ;ACC := (PI-(QI*WR-QR*WI))/2 QR1 PI QI C+1 S+1 2
2 022f 98e9 SACH *0+,0,AR1 ;QI := (PI-(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0230 be02 NEG ;ACC :=(-PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0231 6180 ADD *,16 ;ACC := (PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0232 98ab SACH *+,0,AR3 ;PI := (PI+(QI*WR-QR*WI))/2 QR1 PR+1 QI+1 C+1 S+1 3
2
1 $endif
1
1 $if divid=8
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 $endif
1 0233+ loop: .set $
1
1 $if divid=4
1 0233 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
2 ; LT *+,AR3 ;TREG:= QR QR PR QI C S 3
2 0233 548a MPY *,AR2 ;PREG:= QR*WR/2 QR PR QI C S 2
2 0234 719c LTP *-,AR4 ;ACC := QR*WR/2 QI PR QR C S 4
2 0235 548b MPY *,AR3 ;PREG:= QI*WI/2 QI PR QR C S 3
2 0236 50aa MPYA *+,AR2 ;ACC := (QR*WR+QI*WI)/2 QR PR QR C+1 S 2
2 ; PREG:= QI*WR
2 0237 738d LT *,AR5 ;TREG = QR QR PR QR C+1 S 5
2 0238 9989 SACH *,1,AR1 ;TEMP:= (QR*WR+QI*WI) QR PR QR C+1 S 1
2 ;
2 0239 2f80 ADD *,15 ;ACC := (PR+(QR*WR+QI*WI))/2 QR PR QR C+1 S 1
2 023a 98ad SACH *+,0,AR5 ;PR := (PR+(QR*WR+QI*WI))/2 QR PI QR C+1 S 5
2 023b 658a SUB *,16,AR2 ;ACC := (PR-(QR*WR+QI*WI))/2 QR PI QR C+1 S 2
2 023c 98e9 SACH *0+,0,AR1 ;QR := (PR-(QR*WR+QI*WI))/2 QR PI QR+1 C+1 S 1
2 ;
2 023d 1f8c LAC *,15,AR4 ;ACC := PI /PREG=QI*WR QI PI QR+1 C+1 S 4
2 023e 51aa MPYS *+,AR2 ;PREG:= QR*WI/2 QI PI QR+1 C+1 S+1 2
2 ; ;ACC := (PI-QI*WR)/2
2 023f 7090 LTA *- ;ACC := (PI-(QI*WR-QR*WI))/2 QR1 PI QI C+1 S+1 2
2 0240 98e9 SACH *0+,0,AR1 ;QI := (PI-(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0241 be02 NEG ;ACC :=(-PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0242 6180 ADD *,16 ;ACC := (PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0243 98ab SACH *+,0,AR3 ;PI := (PI+(QI*WR-QR*WI))/2 QR1 PR+1 QI+1 C+1 S+1 3
2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Sat Jul 14 16:18:01 2001
Copyright (c) 1987-1999 Texas Instruments Incorporated
0032 point DIT Radix-2, Complex FFT PAGE 16
1 0244 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
2 ; LT *+,AR3 ;TREG:= QR QR PR QI C S 3
2 0244 548a MPY *,AR2 ;PREG:= QR*WR/2 QR PR QI C S 2
2 0245 719c LTP *-,AR4 ;ACC := QR*WR/2 QI PR QR C S 4
2 0246 548b MPY *,AR3 ;PREG:= QI*WI/2 QI PR QR C S 3
2 0247 50aa MPYA *+,AR2 ;ACC := (QR*WR+QI*WI)/2 QR PR QR C+1 S 2
2 ; PREG:= QI*WR
2 0248 738d LT *,AR5 ;TREG = QR QR PR QR C+1 S 5
2 0249 9989 SACH *,1,AR1 ;TEMP:= (QR*WR+QI*WI) QR PR QR C+1 S 1
2 ;
2 024a 2f80 ADD *,15 ;ACC := (PR+(QR*WR+QI*WI))/2 QR PR QR C+1 S 1
2 024b 98ad SACH *+,0,AR5 ;PR := (PR+(QR*WR+QI*WI))/2 QR PI QR C+1 S 5
2 024c 658a SUB *,16,AR2 ;ACC := (PR-(QR*WR+QI*WI))/2 QR PI QR C+1 S 2
2 024d 98e9 SACH *0+,0,AR1 ;QR := (PR-(QR*WR+QI*WI))/2 QR PI QR+1 C+1 S 1
2 ;
2 024e 1f8c LAC *,15,AR4 ;ACC := PI /PREG=QI*WR QI PI QR+1 C+1 S 4
2 024f 51aa MPYS *+,AR2 ;PREG:= QR*WI/2 QI PI QR+1 C+1 S+1 2
2 ; ;ACC := (PI-QI*WR)/2
2 0250 7090 LTA *- ;ACC := (PI-(QI*WR-QR*WI))/2 QR1 PI QI C+1 S+1 2
2 0251 98e9 SACH *0+,0,AR1 ;QI := (PI-(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0252 be02 NEG ;ACC :=(-PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0253 6180 ADD *,16 ;ACC := (PI+(QI*WR-QR*WI))/2 QR1 PI QI+1 C+1 S+1 1
2 0254 98ab SACH *+,0,AR3 ;PI := (PI+(QI*WR-QR*WI))/2 QR1 PR+1 QI+1 C+1 S+1 3
2
1 $endif
1 ;
1 ; DIVID = 8 DOES NOT WORK!!!! 10.7.90
1 ;
1 $if divid=8
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
1 $endif
1 0255 butt_c2x 3 ; execute macro BUTFLYI without 'LT...'
2 ; LT *+,AR3 ;TREG:= QR QR PR QI C S 3
2 0255 548a MPY *,AR2 ;PREG:= QR*WR/2 QR PR QI C S 2
2 0256 719c LTP *-,AR4 ;ACC := QR*WR/2 QI PR QR C S 4
2 0257 548b MPY *,AR3 ;PREG:= QI*WI/2 QI PR QR C S 3
2 0258 50aa MPYA *+,AR2 ;ACC := (QR*WR+QI*WI)/2 QR PR QR C+1 S 2
2 ; PREG:= QI*WR
2 0259 738d LT *,AR5 ;TREG = QR QR PR QR C+1 S 5
2 025a 9989 SACH *,1,AR1 ;TEMP:= (QR*WR+QI*WI) QR PR QR C+1 S 1
2 ;
2 025b 2f80 ADD *,15 ;ACC := (PR+(QR*WR+QI*WI))/2 QR PR QR C+1 S 1
2 025c 98ad SACH *+,0,AR5 ;PR := (PR+(QR*WR+QI*WI))/2 QR PI QR C+1 S 5
2 025d 658a SUB *,16,AR2 ;ACC := (PR-(QR*WR+QI*WI))/2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -