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

📄 fir32_emac.s.list

📁 freescale MAC DSP的算法库(FFT
💻 LIST
📖 第 1 页 / 共 3 页
字号:
0x000000ea: 2819                                move.l       (a1)+,d4         ;d4=*pCurX++;
0x000000ec: 2a19                                move.l       (a1)+,d5         ;d5=*pCurX++;
0x000000ee: 2c19                                move.l       (a1)+,d6         ;d6=*pCurX++;
0x000000f0: 2c63                                move.l       -(a3),a6         ;a6=*--pCurCoef;

0x000000f2: b280                                cmp.l        d0,d1            ;if (N=i) {
0x000000f4: 6600001e                            bne          .CONT            ;
                             ;
0x000000f8: a60e0ac0                            mac.l        a6,d3,<<,ACC0    ;ACC0+=a6*d3;
0x000000fc: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x00000100: ace35ade                            mac.l        a6,d5,<<,-(a3),a6,ACC2 ;ACC2+=a6*d5; a6=*--pCurCoef;
0x00000104: a80e0ac0                            mac.l        a6,d4,<<,ACC0    ;ACC0+=a6*d4;
0x00000108: ac635ace                            mac.l        a6,d5,<<,-(a3),a6,ACC1 ;ACC1+=a6*d5; a6=*--pCurCoef;

0x0000010c: aa0e0ac0                            mac.l        a6,d5,<<,ACC0    ;ACC0+=a6*d5;

0x00000110: 600000a8                            bra          .ENDBUFx         ;
                                                                              ;} 
                             .CONT                                            ;if (N!=i) {

0x00000114: a6993ace                            mac.l        a6,d3,<<,(a1)+,d3,ACC0 ;ACC0+=a6*d3; d3=*pCurX++;
0x00000118: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x0000011c: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x00000120: ac636ade                            mac.l        a6,d6,<<,-(a3),a6,ACC3 ;ACC3+=a6*d6; a6=*--pCurCoef;
0x00000124: 2401                                move.l       d1,d2            
0x00000126: 5882                                addq.l       #4,d2            
                             ;
                             .FORk11                                          ;for(k=i+4; k<N; k+=4) {
0x00000128: b480                                cmp.l        d0,d2            ;
0x0000012a: 64000046                            bcc          .ENDFORk11       ;

0x0000012e: a8994ace                            mac.l        a6,d4,<<,(a1)+,d4,ACC0 ;ACC0+=a6*d4; d4=*pCurX++;
0x00000132: aa8e0ac0                            mac.l        a6,d5,<<,ACC1    ;ACC1+=a6*d5;
0x00000136: ac0e0ad0                            mac.l        a6,d6,<<,ACC2    ;ACC2+=a6*d6;
0x0000013a: ac633ade                            mac.l        a6,d3,<<,-(a3),a6,ACC3 ;ACC3+=a6*d3; a6=*--pCurCoef;
0x0000013e: aa995ace                            mac.l        a6,d5,<<,(a1)+,d5,ACC0 ;ACC0+=a6*d5; d5=*pCurX++;
0x00000142: ac8e0ac0                            mac.l        a6,d6,<<,ACC1    ;ACC1+=a6*d6;
0x00000146: a60e0ad0                            mac.l        a6,d3,<<,ACC2    ;ACC2+=a6*d3;
0x0000014a: ac634ade                            mac.l        a6,d4,<<,-(a3),a6,ACC3 ;ACC3+=a6*d4; a6=*--pCurCoef;

0x0000014e: ac996ace                            mac.l        a6,d6,<<,(a1)+,d6,ACC0 ;ACC0+=a6*d6; d6=*pCurX++;
0x00000152: a68e0ac0                            mac.l        a6,d3,<<,ACC1    ;ACC1+=a6*d3;
0x00000156: a80e0ad0                            mac.l        a6,d4,<<,ACC2    ;ACC2+=a6*d4;
0x0000015a: ac635ade                            mac.l        a6,d5,<<,-(a3),a6,ACC3 ;ACC3+=a6*d5; a6=*--pCurCoef;
0x0000015e: a6993ace                            mac.l        a6,d3,<<,(a1)+,d3,ACC0 ;ACC0+=a6*d3; d3=*pCurX++;
0x00000162: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x00000166: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x0000016a: ac636ade                            mac.l        a6,d6,<<,-(a3),a6,ACC3 ;ACC3+=a6*d6; a6=*--pCurCoef;
0x0000016e: 5882                                addq.l       #4,d2            ;
0x00000170: 60b6                                bra          .FORk11          ;

                             .ENDFORk11                                       ;}
                             ;
0x00000172: 2400                                move.l       d0,d2            ;
0x00000174: 5382                                subq.l       #1,d2            
0x00000176: 028200000003                        andi.l       #3,d2            

                             .FORk12                                          ;for(k=(N-1)%4; k>0; k--){
0x0000017c: 0c8200000000                        cmpi.l       #0,d2            ;
0x00000182: 6700001e                            beq          .ENDFORk12       ;

0x00000186: a80e0ac0                            mac.l        a6,d4,<<,ACC0    ;ACC0+=a6*d4;
0x0000018a: aa8e0ac0                            mac.l        a6,d5,<<,ACC1    ;ACC1+=a6*d5;
0x0000018e: ac0e0ad0                            mac.l        a6,d6,<<,ACC2    ;ACC2+=a6*d6;
0x00000192: ac633ade                            mac.l        a6,d3,<<,-(a3),a6,ACC3 ;ACC3+=a6*d3; a6=*--pCurCoef;

0x00000196: 2805                                move.l       d5,d4            ;d4=d5;
0x00000198: 2a06                                move.l       d6,d5            ;d5=d6;
0x0000019a: 2c03                                move.l       d3,d6            ;d6=d3;

0x0000019c: 2619                                move.l       (a1)+,d3         ;d3=*pCurX++;

0x0000019e: 5382                                subq.l       #1,d2            ;
0x000001a0: 60da                                bra          .FORk12          ;
                             .ENDFORk12                                       ;}
                                                                              ;
0x000001a2: a80e0ac0                            mac.l        a6,d4,<<,ACC0    ;ACC0+=a6*d4;
0x000001a6: aa8e0ac0                            mac.l        a6,d5,<<,ACC1    ;ACC1+=a6*d5;
0x000001aa: ace36ade                            mac.l        a6,d6,<<,-(a3),a6,ACC2 ;ACC2+=a6*d6; a6=*--pCurCoef;
0x000001ae: aa0e0ac0                            mac.l        a6,d5,<<,ACC0    ;ACC0+=a6*d5;
0x000001b2: ac636ace                            mac.l        a6,d6,<<,-(a3),a6,ACC1 ;ACC1+=a6*d6; a6=*--pCurCoef;

0x000001b6: ac0e0ac0                            mac.l        a6,d6,<<,ACC0    ;ACC0+=a6*d6

                             .ENDBUFx                                         ;}
                                                                              ;}
                             ;
0x000001ba: a1c6                                movclr.l     ACC0,d6          ;d6=ACC0; ACC0=0;
0x000001bc: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x000001be: a3c6                                movclr.l     ACC1,d6          ;d6=ACC1; ACC1=0;
0x000001c0: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x000001c2: a5c6                                movclr.l     ACC2,d6          ;d6=ACC2; ACC2=0;
0x000001c4: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x000001c6: a7c6                                movclr.l     ACC3,d6          ;d6=ACC3; ACC3=0;
0x000001c8: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;

0x000001ca: 5881                                addq.l       #4,d1            ;
0x000001cc: 6000fe76                            bra          .FORi1           ;

                             .ENDFORi1                                        ;}
0x000001d0: 2e00                                move.l       d0,d7            ;d7=N%4;
0x000001d2: 028700000003                        andi.l       #3,d7            
0x000001d8: 2a00                                move.l       d0,d5            ;d5=N-d7+1;
0x000001da: 9a87                                sub.l        d7,d5            
0x000001dc: 5285                                addq.l       #1,d5            
0x000001de: 7201                                moveq.l      #1,d1            ;
                             ;
                             .FORi2                                           ;for(i=1; i<=N%4; i++){
0x000001e0: b287                                cmp.l        d7,d1            ;
0x000001e2: 62000048                            bhi          .ENDFORi2        ;
0x000001e6: 2c6f0044                            move.l       68(a7),a6        ;pCurX=pX+d5;
0x000001ea: 43f65c00                            lea          (0,a6,d5.l*4),a1 

0x000001ee: 2652                                move.l       (a2),a3          ;pCurCoef=pFIR->pFirCoef;
0x000001f0: 7400                                moveq        #0,d2            
0x000001f2: 281b                                move.l       (a3)+,d4         ;d4=*pCurCoef++;
                             .FORk21                                          ;for (k=0; k<d5; k++) {
0x000001f4: 2621                                move.l       -(a1),d3         ;d3=*--pCurX

0x000001f6: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x000001fa: 5282                                addq.l       #1,d2            ;
0x000001fc: b485                                cmp.l        d5,d2            ;
0x000001fe: 65f4                                bcs          .FORk21          ;
                                                                              ;} 
                             ;
0x00000200: 4aaa000c                            tst.l        12(a2)           ;if(pFIR->iFirHistoryCount>0)  {
0x00000204: 6700001c                            beq          .NEXTif          ;
0x00000208: 2c6a0008                            move.l       8(a2),a6         
0x0000020c: 49f60cfc                            lea          (-4,a6,d0.l*4),a4 ;pCurHistory=pFIR->pFirHistory+N-1;

0x00000210: 2405                                move.l       d5,d2            ;for(k=d5;k<N;k++)  {
                             .FORk22                                          
0x00000212: b480                                cmp.l        d0,d2            ;
0x00000214: 6400000c                            bcc          .NEXTif          
0x00000218: 2624                                move.l       -(a4),d3         ;d3=*--pCurHistory

0x0000021a: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x0000021e: 5282                                addq.l       #1,d2            ;
0x00000220: 60f0                                bra          .FORk22          ;
                             .NEXTif                                          ;}
                             ;

                                                                              ;}
0x00000222: a1c6                                movclr.l     ACC0,d6          ;d6=ACC0; ACC0=0;
0x00000224: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x00000226: 5281                                addq.l       #1,d1            ;
0x00000228: 5285                                addq.l       #1,d5            ;
0x0000022a: 60b4                                bra          .FORi2           ;

⌨️ 快捷键说明

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