120 likes | 201 Views
FIR4 USING TMS32031 CODE. FIR4.ASM. DATA. 1 2 3 4 10 0 0 0 HN IN XN LENGTH. AR5---->. HN IN HN_ADDR IN_ADDR XN_ADDR XB_ADDR OUT_ADDR. 809900 809901 809902 809903 809904 809905 809906 809907 809908 809909 80990a 80990b 80990c 80990d.
E N D
DATA 1 2 3 4 10 0 0 0 HN IN XN LENGTH AR5----> HN IN HN_ADDR IN_ADDR XN_ADDR XB_ADDR OUT_ADDR 809900 809901 809902 809903 809904 809905 809906 809907 809908 809909 80990a 80990b 80990c 80990d 00000000 010000000140000002000000 03200000 80000000 80000000 80000000 00809900 00809904 00809910 0080990B 00809802 00000004
Circular Buffer 809910 809911 809912 809913 80000000 80000000 80000000 80000000 XN XN + LENGTH - 1 AR1----> Output AR2----> 809802 809803 809804 809805 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX OUT_ADDR
INSTRUCTIONS Data Page (DP) register 809c00 809c01 809c02 809c03 809c04 809c05 LDP HN_ADDR LDI @IN_ADDR,AR5 LDI @XB_ADDR,AR1 LDI @OUT_ADDR,AR2 LDI LENGTH,BK LDI LENGTH,R4 80 AR5 00809904 AR1 00809913 AR2 R4 00809802 00000004 Block (BK) register 00000004
INSTRUCTIONS AR0----> 809900 809901 809902 809903 00000000 01000000 01400000 02000000 HN 1 2 3 4 809c06 809c07 809c08 809c09 LDF *AR5++,R3 STF R3,*AR1++% LDI @HN_ADDR,AR0 CALL FILTER AR5----> 809904 809905 809906 809907 03200000 80000000 80000000 80000000 IN 10 0 0 0 R3 AR1----> 809910 809911 809912 809913 80000000 80000000 80000000 03200000 XN XN + LENGTH - 1 03200000 AR1---->
INSTRUCTIONS FILTER 809c0F 809c10 809c11 809c12 809C13 809C14 LDF 0,R0 LDF 0,R2 RPTS LENGTH - 1 MPYF3 *AR0++,*AR1++%,R0 ADDF3 R0,R2 RETS R0 R2 00000000 00000000 R0 R2 0 1 = 0 0 0 R0 R2 0 2 = 0 0 0
R0 R2 0 0 0 3 = 0 R0 R2 10 4 = 40 40 0 R0 R2 40 40 ADDF3 R0,R2
INSTRUCTIONS AR0----> 809900 809901 809902 809903 00000000 01000000 01400000 02000000 HN 1 2 3 4 809c06 809c07 809c08 809c09 LDF *AR5++,R3 STF R3,*AR1++% LDI @HN_ADDR,AR0 CALL FILTER 809904 809905 809906 809907 03200000 80000000 80000000 80000000 IN 10 0 0 0 AR5----> R3 AR1----> 809910 809911 809912 809913 80000000 80000000 80000000 03200000 XN XN - 1 08000000 AR1---->
INSTRUCTIONS AR0----> 809900 809901 809902 809903 00000000 01000000 01400000 02000000 HN 1 2 3 4 809c06 809c07 809c08 809c09 LDF *AR5++,R3 STF R3,*AR1++% LDI @HN_ADDR,AR0 CALL FILTER 809904 809905 809906 809907 03200000 80000000 80000000 80000000 IN 10 0 0 0 AR5----> R3 809910 809911 809912 809913 80000000 80000000 80000000 03200000 XN - 1 XN XN - 2 08000000 AR1----> AR1---->
INSTRUCTIONS AR0----> 809900 809901 809902 809903 00000000 01000000 01400000 02000000 HN 1 2 3 4 809c06 809c07 809c08 809c09 LDF *AR5++,R3 STF R3,*AR1++% LDI @HN_ADDR,AR0 CALL FILTER 809904 809905 809906 809907 03200000 80000000 80000000 80000000 IN 10 0 0 0 AR5----> R3 809910 809911 809912 809913 80000000 80000000 80000000 03200000 XN - 2 XN - 1 XN XN - 3 08000000 AR1----> AR1---->