⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coldfire_mpegimda.s

📁 Application (fix point) for playing MP3 data on embedded systems. mp3play is designed to be able to
💻 S
📖 第 1 页 / 共 3 页
字号:
// s[ 2 ] = -M( 1, K1 )  - k2 - M( 7, K7 )  - M( 10, K10 ) - M( 16, K16 )               M        (7,K7,d3)               neg.l    d3               M_SUB    (1,K1)               M_SUB    (10,K10)               M_SUB    (16,K16)               sub.l    d2,d3               move.l   d3,2*4(a4)// s[ 3 ] = -M( 1, K10 ) + k2 + M( 7, K16 ) - M( 10, K1 )  + M( 16, K7 )               M        (7,K16,d3)               M_SUB    (1,K10)               M_SUB    (10,K1)               M_ADD    (16,K7)               add.l    d2,d3               move.l   d3,3*4(a4)// s[ 4 ] = -M( 1, K13 ) + k2 - M( 7, K4 )  + M( 10, K13 ) - M( 16, K4 )               M        (10,K13,d3)               M_SUB    (7,K4)               M_SUB    (1,K13)               M_SUB    (16,K4)               add.l    d2,d3               move.l   d3,4*4(a4)// s[ 5 ] = -M( 1, K16 ) + k1 - M( 7, K10 ) + M( 10, K7 )  + M( 16, K1 )               M        (10,K7,d3)               M_SUB    (7,K10)               M_SUB    (1,K16)               M_ADD    (16,K1)               add.l    d1,d3               move.l   d3,5*4(a4)//              S   a, <dummy reg>, <dest reg>               S        (0,d0,d3)               move.l   d3,0*4(a3)               S        (2,d0,d3)               move.l   d3,1*4(a3)               S        (3,d0,d3)               move.l   d3,2*4(a3)               S        (5,d0,d3)               move.l   d3,3*4(a3)               // 0               MC        (0,K9)               MC_SUB    (2,K11)               MC_ADD    (3,K5)               MC_SUB    (5,K3)               MC_SUB    (6,K15)               MC_ADD    (8,K17)               MC_SUB    (9,K0)               MC_ADD    (11,K2)               MC_SUB    (12,K14)               MC_ADD    (14,K12)               MC_ADD    (15,K6)               MC_SUB    (17,K8)	       MC_FIN               add.l    0*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4      // win[ 17 ] can be negated to suppress this line               W        (d3,0)               W        (d4,17)               // 1               MT       (0,K10,d3)               MT_SUB   (1,K16)               MT_ADD   (2,K1)               MT_SUB   (3,K7)               add.l    1*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4               W        (d3,1)               W        (d4,16)               // 2               MC        (0,K11)               MC_ADD    (2,K14)               MC_ADD    (3,K8)               MC_ADD    (5,K17)               MC_ADD    (6,K5)               MC_SUB    (8,K15)               MC_ADD    (9,K2)               MC_SUB    (11,K12)               MC_ADD    (12,K0)               MC_SUB    (14,K9)               MC_ADD    (15,K3)               MC_SUB    (17,K6)	       MC_FIN               add.l    2*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4               W        (d3,2)               W        (d4,15)               // 3               MC        (0,K12)               MC_ADD    (2,K9)               MC_ADD    (3,K15)               MC_ADD    (5,K6)               MC_SUB    (6,K17)               MC_ADD    (8,K3)               MC_SUB    (9,K14)               MC_ADD    (11,K0)               MC_SUB    (12,K11)               MC_ADD    (14,K2)               MC_SUB    (15,K8)               MC_ADD    (17,K5)	       MC_FIN               add.l    2*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4               W        (d3,3)               W        (d4,14)               // 4               MT       (0,K13,d3)               MT_ADD   (1,K4)               MT_SUB   (2,K13)               MT_ADD   (3,K4)               add.l    1*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4               W        (d3,4)               W        (d4,13)               // 5               MC        (0,K14)               MC_ADD    (2,K0)               MC_SUB    (3,K6)               MC_ADD    (5,K15)               MC_SUB    (6,K8)               MC_SUB    (8,K5)               MC_ADD    (9,K12)               MC_SUB    (11,K9)               MC_ADD    (12,K2)               MC_ADD    (14,K11)               MC_ADD    (15,K17)               MC_ADD    (17,K3)	       MC_FIN               add.l    0*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4               W        (d3,5)               W        (d4,12)               // 6               MC        (0,K15)               MC_ADD    (2,K5)               MC_SUB    (3,K0)               MC_SUB    (5,K9)               MC_ADD    (6,K14)               MC_SUB    (8,K11)               MC_ADD    (9,K6)               MC_ADD    (11,K3)               MC_SUB    (12,K8)               MC_ADD    (14,K17)               MC_SUB    (15,K12)               MC_SUB    (17,K2)	       MC_FIN               add.l    3*4(a4),d3               IMDCT_FIX (d3)               move.l   d3,d4               neg.l    d4               W        (d3,6)               W        (d4,11)               // 7               MT       (0,K16,d3)               MT_ADD   (1,K10)               MT_SUB   (2,K7)               MT_SUB   (3,K1)               add.l    4*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               neg.l    d4               W        (d3,7)               W        (d4,10)               // 8               MC        (0,K17)               MC_ADD    (2,K15)               MC_SUB    (3,K14)               MC_SUB    (5,K12)               MC_ADD    (6,K11)               MC_ADD    (8,K9)               MC_SUB    (9,K8)               MC_SUB    (11,K6)               MC_ADD    (12,K5)               MC_ADD    (14,K3)               MC_SUB    (15,K2)               MC_SUB    (17,K0)	       MC_FIN               add.l    5*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               neg.l    d4               W        (d3,8)               W        (d4,9)               // 9+9	       MC	(0,-K8)//               M        (0,K8,d3)//               neg.l    d3               MC_ADD    (2,K6)               MC_SUB    (3,K12)               MC_ADD    (5,K14)               MC_ADD    (6,K2)               MC_SUB    (8,K0)               MC_SUB    (9,K17)               MC_ADD    (11,K15)               MC_SUB    (12,K3)               MC_ADD    (14,K5)               MC_ADD    (15,K11)               MC_SUB    (17,K9)	       MC_FIN               sub.l    3*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,18)               WP       (d4,35)               // 10+9               MT       (0,K7,d3)               neg.l    d3               MT_ADD   (1,K1)               MT_ADD   (2,K16)               MT_SUB   (3,K10)               sub.l    4*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,19)               WP       (d4,34)               // 11+9	       MC	(0,-K6)//               M        (0,K6,d3)//               neg.l    d3               MC_ADD    (2,K3)               MC_ADD    (3,K9)               MC_SUB    (5,K10)               MC_SUB    (6,K12)               MC_ADD    (8,K2)               MC_ADD    (9,K15)               MC_SUB    (11,K5)               MC_ADD    (12,K17)               MC_ADD    (14,K8)               MC_SUB    (15,K14)               MC_SUB    (17,K11)	       MC_FIN               sub.l    5*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,20)               WP       (d4,33)               // 12+9	       MC	(0,-K5)//               M        (0,K5,d3)//               neg.l    d3               MC_ADD    (2,K8)               MC_ADD    (3,K2)               MC_SUB    (5,K11)               MC_SUB    (6,K0)               MC_ADD    (8,K14)               MC_ADD    (9,K3)               MC_SUB    (11,K17)               MC_SUB    (12,K6)               MC_SUB    (14,K15)               MC_ADD    (15,K9)               MC_ADD    (17,K12)	       MC_FIN               add.l    5*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,21)               WP       (d4,32)               // 13+9               MT       (0,-K4,d3)//               neg.l    d3               MT_ADD   (1,K13)               MT_ADD   (2,K4)               MT_ADD   (3,K13)               add.l    4*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,22)               WP       (d4,31)               // 14+9               MC        (0,-K3)//               M        (0,K3,d3)//               neg.l    d3               MC_SUB    (2,K17)               MC_ADD    (3,K11)               MC_ADD    (5,K2)               MC_ADD    (6,K9)               MC_SUB    (8,K12)               MC_SUB    (9,K5)               MC_SUB    (11,K8)               MC_SUB    (12,K15)               MC_ADD    (14,K6)               MC_ADD    (15,K0)               MC_ADD    (17,K14)	       MC_FIN               add.l    3*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,23)               WP       (d4,30)               // 15+9               MC        (0,-K2)//               M        (0,K2,d3)//               neg.l    d3               MC_SUB    (2,K12)               MC_SUB    (3,K17)               MC_ADD    (5,K8)               MC_ADD    (6,K3)               MC_ADD    (8,K6)               MC_ADD    (9,K11)               MC_SUB    (11,K14)               MC_SUB    (12,K9)               MC_SUB    (14,K0)               MC_SUB    (15,K5)               MC_SUB    (17,K15)	       MC_FIN               add.l    0*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,24)               WP       (d4,29)               // 16+9               MT       (0,-K1,d3)//               neg.l    d3               MT_SUB   (1,K7)               MT_SUB   (2,K10)               MT_SUB   (3,K16)               add.l    1*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,25)               WP       (d4,28)               // 17+9               MC        (0,-K0)//               M        (0,K0,d3)//               neg.l    d3               MC_SUB    (2,K2)               MC_SUB    (3,K3)               MC_SUB    (5,K5)               MC_SUB    (6,K6)               MC_SUB    (8,K8)               MC_SUB    (9,K9)               MC_SUB    (11,K11)               MC_SUB    (12,K12)               MC_SUB    (14,K14)               MC_SUB    (15,K15)               MC_SUB    (17,K17)	       MC_FIN               add.l    2*4(a4),d3               IMDCT_FIX( d3)               move.l   d3,d4               WP       (d3,26)               WP       (d4,27)               move.l   a5,a3               unlk     a6               rts#undef K0#define K0             16244#undef K1#define K1             15137#undef K2#define K2             12998#undef K3#define K3             9974#undef K4#define K4             6270#undef K5#define K5             2139//              M3   xi, Kx, <dest reg>//              performs: ((INT32)x[ xi*3 ] * (Kx))//#define M3(p1,p2,p3) \               move.w   p1*6(a0),p3 ;\               muls.w   IMMED p2,p3////              M3_ADD xi, Kx//              performs: M3 xi, Kx, d0//                        add.l  d0,d3//#define M3_ADD(p1,p2) \               M3       (p1,p2,d0) ;\               add.l    d0,d3////              M3_SUB xi, Kx//              performs: M3 xi, Kx, d0//                        sub.l  d0,d3//#define M3_SUB(p1,p2) \               M3       (p1,p2,d0) ;\               sub.l    d0,d3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -