- 金钱
- 36
- 技术分
- 0
- {zh1}登录
- 2010-4-4
|
知道这里高手多……小弟有个小问题想向各位请教!
最近在做c6000下fir滤波器的实验,现有汇编程序如下,要如何在ccs中得出滤波器波形?各位老大说得越详细越好哈!不胜感激!!
.global _fir8
.text
_fir8:
STW .D2 A15,*B15--
|| SUB .L1X B15,8,A15
STW .D2 B14,*B15--[2]
|| STW .D1 A14,*A15--[2]
STW .D2 B13,*B15--[2]
|| STW .D1 A13,*A15--[2]
STW .D2 B12,*B15--[2]
|| STW .D1 A12,*A15--[2]
B_START:
MPY .M2 B6,2,B5
|| SHR .S1X B6,3,A5
|| ADD .L2X A6,2,B6
SHR .S2X A8,1,B0
|| STW .D2 B11,*B15--[2]
|| STW .D1 A11,*A15--[2]
|| ZERO .S1 A2
MV .L1X B4,A0
|| ADD .S2 B4,4,B14
|| MV .L2X A4,B1
|| ADD .S1 A4,4,A4
|| STW .D2 B10,*B15--[2]
|| STW .D1 A10,*A15--[2]
LDW .D1 *A4++[2],B9
|| LDW .D2 *B1++[2],A10
|| MV .L1 A5,A1
|| MPY .M2X A5,B0,B0
|| SUB .S1X B5,4,A3
|| ZERO .L2 B11
|| MVK .S2 2,B2
LOOP:
[!A2] SHR .S1 A10,15,A12
|| MPYH .M2 B7,B9,B13
|| [A2] ADD .L1 A7,A10,A7
|| MPYHL .M1X B7,A11,A10
|| ADD .L2X A14,B4,B7
|| LDW .D2 *B14++[2],B7
|| LDW .D1 *A0++[2],A8
|| [B2] SUB .S2 B2,1,B2
ADD .L1 A10,A7,A13
|| MPYHL .M2X A9,B10,B12
|| MPYLH .M1 A9,A11,A10
|| ADD .L2 B13,B7,B7
|| LDW .D2 *B1++[2],A11
|| LDW .D1 *A4++[2],B10
|| [A1] SUB .S1 A1,1,A1
|| [!B2] SUB .S2 B0,1,B0
[B0] B .S2 LOOP
|| MPY .M1 A9,A11,A11
|| ADD .L1X B9,A13,A13
|| MPYLH .M2 B8,B10,B13
|| ADD .L2X A10,B7,B7
|| LDW .D1 *A0++[2],A9
|| LDW .D2 *B14++[2],B8
|| [!A1] SUB .S1 A4,A3,A4
MPY .M2 B8,B10,B11
|| MPYH .M1 A9,A11,A11
|| ADD .L1X B13,A13,A9
|| ADD .L2X A10,B7,B7
|| [!A1] SUB .S2 B1,B5,B1
|| [!A1] SUB .S1 A0,A3,A0
|| LDH .D2 *B1,A8
|| [B2] ADD .D1 A5,1,A2
[!A2] MV .S1 A5,A2
|| MPYH .M2 B8,B10,B13
|| ADD .L1 A11,A9,A9
|| MPYHL .M1X B8,A8,A9
|| ADD .S2 B12,B7,B10
|| [!A2] STH .D2 B11,*B6++[2]
|| [!A2] STH .D1 A12,*A6++[2]
|| ADD .L2X A10,0,B8
ADD .L1 A11,A9,A12
|| ADD .L2 B13,B10,B8
|| MPYLH .M2X A8,B8,B4
|| [!A1] SUB .D2 B14,B5,B14
|| MPYHL .M1X A8,B9,A14
|| [!A1] ADD .S2 B1,4,B1
|| [!A1] SUB .S1 A0,4,A0
[!B2] ADD .L2X A9,B8,B11
|| ADD .L1X B11,A12,A12
|| MPY .M1 A8,A10,A7
|| MPYLH .M2 B7,B9,B13
|| [A2] SUB .D1 A2,1,A2
|| [!A1] MV .S1 A5,A1
|| [B2] ZERO .D2 B11
[!B2] ADD .L1X B13,A12,A10
|| [!A2] SHR .S2 B11,15,B11
|| MPY .M2 B7,B9,B9
|| MPYH .M1 A8,A10,A10
|| [A2] ADD .L2 B4,B11,B4
|| LDW .D1 *A4++[2],B9
|| LDW .D2 *B1++[2],A10
|| [B2] ZERO .S1 A10
SHR .S1 A10,15,A12
|| LDW .D2 *++B15,A10
|| MV .L1X B15,A15
STH .D2 B11,*B6++[2]
|| STH .D1 A12,*A6++[2]
B_END:
LDW .D1 *++A15[2],B10
|| LDW .D2 *++B15[2],A11
LDW .D1 *++A15[2],B11
|| LDW .D2 *++B15[2],A12
LDW .D1 *++A15[2],B12
|| LDW .D2 *++B15[2],A13
LDW .D1 *++A15[2],B13
|| LDW .D2 *++B15[2],A14
|| B .S2 B3
LDW .D1 *++A15[2 ],B14
|| LDW .D2 *++B15[2],A15
NOP 4 |
|