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

📄 iir32_emac.s.list

📁 freescale MAC DSP的算法库(FFT
💻 LIST
📖 第 1 页 / 共 4 页
字号:
0x0000039a: 2a23                                move.l       -(a3),d5         ;d5=*--pCurCoef;
0x0000039c: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x000003a2: 2823                                move.l       -(a3),d4         ;d4=*--pCurCoef;
0x000003a4: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x000003aa: 2623                                move.l       -(a3),d3         ;d3=*--pCurCoef;

0x000003ac: 243c00000004                        move.l       #4,d2            ;
                             ;
                             .FORk2                                           ;for(k=4; k<i; k+=4){
0x000003b2: b481                                cmp.l        d1,d2            ;
0x000003b4: 6400005e                            bcc          .ENDFORk2        ;

0x000003b8: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;

0x000003be: ac236ade                            mac.l        a6,d6,<<,-(a3),d6,ACC3 ;ACC3+=a6*d6; d6=*--pCurCoef;
0x000003c2: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x000003c6: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x000003ca: acdd3ace                            mac.l        a6,d3,<<,(a5)+,a6,ACC0 ;ACC0+=a6*d3; a6=*pPredY++;
0x000003ce: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;

0x000003d4: aa235ade                            mac.l        a6,d5,<<,-(a3),d5,ACC3 ;ACC3+=a6*d5; d5=*--pCurCoef;
0x000003d8: a80e0ad0                            mac.l        a6,d4,<<,ACC2    ;ACC2+=a6*d4;
0x000003dc: a68e0ac0                            mac.l        a6,d3,<<,ACC1    ;ACC1+=a6*d3;
0x000003e0: acdd6ace                            mac.l        a6,d6,<<,(a5)+,a6,ACC0 ;ACC0+=a6*d6; a6=*pPredY++;

0x000003e4: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;

0x000003ea: a8234ade                            mac.l        a6,d4,<<,-(a3),d4,ACC3 ;ACC3+=a6*d4; d4=*--pCurCoef;
0x000003ee: a60e0ad0                            mac.l        a6,d3,<<,ACC2    ;ACC2+=a6*d3;
0x000003f2: ac8e0ac0                            mac.l        a6,d6,<<,ACC1    ;ACC1+=a6*d6;
0x000003f6: acdd5ace                            mac.l        a6,d5,<<,(a5)+,a6,ACC0 ;ACC0+=a6*d5; a6=*pPredY++;

0x000003fa: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;

0x00000400: a6233ade                            mac.l        a6,d3,<<,-(a3),d3,ACC3 ;ACC3+=a6*d3; d3=*--pCurCoef;
0x00000404: ac0e0ad0                            mac.l        a6,d6,<<,ACC2    ;ACC2+=a6*d6;
0x00000408: aa8e0ac0                            mac.l        a6,d5,<<,ACC1    ;ACC1+=a6*d5;
0x0000040c: acdd4ace                            mac.l        a6,d4,<<,(a5)+,a6,ACC0 ;ACC0+=a6*d4; a6=*pPredY++;
0x00000410: 5882                                addq.l       #4,d2            ;
0x00000412: 609e                                bra          .FORk2           ;

                             .ENDFORk2                                        ;}
                             ;
                             ;
0x00000414: 2652                                move.l       (a2),a3          ;pCurCoef=pIIR->pIirCoef+2;
0x00000416: d7fc00000008                        adda.l       #8,a3            
0x0000041c: 261b                                move.l       (a3)+,d3         ;d3=*pCurCoef++;
0x0000041e: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;
0x00000424: 281b                                move.l       (a3)+,d4         ;d4=*pCurCoef++;
0x00000426: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;
0x0000042c: 2a1b                                move.l       (a3)+,d5         ;d5=*pCurCoef++;
0x0000042e: a1c6                                movclr.l     ACC0,d6          ;d6=ACC0; ACC0=0;
0x00000430: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x00000432: ac830ac0                            mac.l        d3,d6,<<,ACC1    ;ACC1+=d3*d6;
0x00000436: a3ce                                movclr.l     ACC1,a6          ;a6=ACC1; ACC1=0;
0x00000438: 20ce                                move.l       a6,(a0)+         ;(*pCurY++)=a6;
0x0000043a: ac430ad0                            mac.l        d3,a6,<<,ACC2    ;ACC2+=d3*a6;
0x0000043e: ac040ad0                            mac.l        d4,d6,<<,ACC2    ;ACC2+=d4*d6;
0x00000442: a5c7                                movclr.l     ACC2,d7          ;d7=ACC2; ACC2=0;
0x00000444: 20c7                                move.l       d7,(a0)+         ;(*pCurY++)=d7;
0x00000446: ae830ad0                            mac.l        d3,d7,<<,ACC3    ;ACC3+=d3*d7;
0x0000044a: acc40ad0                            mac.l        d4,a6,<<,ACC3    ;ACC3+=d4*a6;
0x0000044e: ac850ad0                            mac.l        d5,d6,<<,ACC3    ;ACC3+=d5*d6;
0x00000452: a7c6                                movclr.l     ACC3,d6          ;d6=ACC3; ACC3=0;
0x00000454: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;

0x00000456: 5881                                addq.l       #4,d1            ;
0x00000458: 6000fbee                            bra          .FORi1           ;

                             .ENDFORi1                                        ;}
0x0000045c: 2e00                                move.l       d0,d7            ;d7=N%4;
0x0000045e: 028700000003                        andi.l       #3,d7            
0x00000464: 2a00                                move.l       d0,d5            ;d5=N-d7+1;
0x00000466: 9a87                                sub.l        d7,d5            
0x00000468: 5285                                addq.l       #1,d5            
0x0000046a: 7201                                moveq.l      #1,d1            ;
                             ;
                             .FORi2                                           ;for(i=1; i<=N%4; i++){
0x0000046c: b287                                cmp.l        d7,d1            ;
0x0000046e: 62000072                            bhi          .ENDFORi2        ;
0x00000472: 2c6f0044                            move.l       68(a7),a6        ;pCurX=pX+i;
0x00000476: 43f65c00                            lea          (0,a6,d5.l*4),a1 
0x0000047a: 2c6f0048                            move.l       72(a7),a6        ;pPredY=pY+i-1;
0x0000047e: 4bf65cfc                            lea          (-4,a6,d5.l*4),a5 

0x00000482: 2652                                move.l       (a2),a3          ;pCurCoef=pIIR->pIirCoef;

0x00000484: 2621                                move.l       -(a1),d3         ;d3=*--pCurX;
0x00000486: 281b                                move.l       (a3)+,d4         ;d4=*pCurCoef++;
0x00000488: a8030ac0                            mac.l        d3,d4,<<,ACC0    ;ACC0+=d3*d4;
0x0000048c: 7401                                moveq        #1,d2            ;
0x0000048e: 281b                                move.l       (a3)+,d4         ;d4=*pCurCoef++;
                             .FORk3                                           ;for(k=1; k<d5; k++){
0x00000490: b485                                cmp.l        d5,d2            ;
0x00000492: 64000012                            bcc          .ENDFORk3        ;

0x00000496: 2621                                move.l       -(a1),d3         ;d3=*--pCurX;
0x00000498: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;

0x0000049c: 2625                                move.l       -(a5),d3         ;d3=*--pPredY;
0x0000049e: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x000004a2: 5282                                addq.l       #1,d2            ;
0x000004a4: 60ea                                bra          .FORk3           ;
                             .ENDFORk3                                        ;}

0x000004a6: be81                                cmp.l        d1,d7            ;
0x000004a8: 6700002e                            beq          .ENDFORk31       ;if (i!=N%4) {
                                                                              ;
0x000004ac: 4aaa000c                            tst.l        12(a2)           ;if(pIIR->iIirHistoryCount>0) {
0x000004b0: 67000026                            beq          .ENDFORk31       

0x000004b4: 2c6a0008                            move.l       8(a2),a6         ;pCurHistory=pIIR->pIirHistory+pIIR->iIirHistoryCount;
0x000004b8: 2c2a000c                            move.l       12(a2),d6        
0x000004bc: 49f66c00                            lea          (0,a6,d6.l*4),a4 
0x000004c0: 2405                                move.l       d5,d2            
                             .FORk31                                          ;for(k=d5; k<N; k++) {
0x000004c2: b480                                cmp.l        d0,d2            ;
0x000004c4: 64000012                            bcc          .ENDFORk31       ;

0x000004c8: 2624                                move.l       -(a4),d3         ;d3=*--pCurHistory;
0x000004ca: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x000004ce: 2624                                move.l       -(a4),d3         ;d3=*--pCurHistory;
0x000004d0: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x000004d4: 5282                                addq.l       #1,d2            ;
0x000004d6: 60ea                                bra          .FORk31          ;
                             .ENDFORk31                                       ;}
                                                                              ;}
                                                                              ;}
0x000004d8: a1c6                                movclr.l     ACC0,d6          ;d6=ACC0; ACC0=0;
0x000004da: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x000004dc: 5281                                addq.l       #1,d1            ;
0x000004de: 5285                                addq.l       #1,d5            ;incrementing d5
0x000004e0: 608a                                bra          .FORi2           ;
                             .ENDFORi2                                        ;
                             ;
                             ;
0x000004e2: 2e2f004c                            move.l       76(a7),d7        ;d7=n;
0x000004e6: 0c8000000004                        cmpi.l       #4,d0            ;
0x000004ec: 6400000a                            bcc          .NMORE3          ;if (N<4) {
0x000004f0: 2200                                move.l       d0,d1            ;i=N+1;
0x000004f2: 5281                                addq.l       #1,d1            
0x000004f4: 60000200                            bra          .FORi4           ;
                             .NMORE3                                          ;}
                             ;
0x000004f8: 2200                                move.l       d0,d1            ;if (N>=4) {
0x000004fa: 5881                                addq.l       #4,d1            ;
                             .FORi3                                           ;for (i=N+4; i<=n; i+=4){
0x000004fc: b287                                cmp.l        d7,d1            ;
0x000004fe: 620001e6                            bhi          .ENDFORi3        ;
0x00000502: 2652                                move.l       (a2),a3          ;pCurCoef=pIIR->pIirCoef;
0x00000504: 2c6f0044                            move.l       68(a7),a6        ;pCurX=pX+i-4;
0x00000508: 43f61cf0                            lea          (-16,a6,d1.l*4),a1 
0x0000050c: 4cd10078                            movem.l      (a1),d3-d6       ;d3=*pCurX++; d4=*pCurX++; d5=*pCurX++; d6=*pCurX; pCurX-=3;
0x00000510: 2c5b                                move.l       (a3)+,a6         ;a6=*pCurCoef++;

0x00000512: 2400                                move.l       d0,d2            ;d2=N%4+4;
0x00000514: 028200000003                        andi.l       #3,d2            
0x0000051a: 5882                                addq.l       #4,d2            
0x0000051c: 0c8200000004                        cmpi.l       #4,d2            ;if (d2=4){
0x00000522: 66000004                            bne          .CYCLE_BEGIN2    
0x00000526: 5282                                addq.l       #1,d2            ;d2+=1;
                                                                              ;}
                             .CYCLE_BEGIN2                                    
                             ;
0x00000528: ac216ade                            mac.l        a6,d6,<<,-(a1),d6,ACC3 ;ACC3+=a6*d6; d6=*--pCurX;
0x0000052c: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x00000530: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x00000534: acdb3ace                            mac.l        a6,d3,<<,(a3)+,a6,ACC0 ;ACC0+=a6*d3; a6=*pCurCoef++;
                             ;
                             .FORk4                                           ;for(k=d2; k<=N; k+=4) {
0x00000538: b480                                cmp.l        d0,d2            ;
0x0000053a: 6200005e                            bhi          .ENDFORk4        ;

0x0000053e: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;

0x00000544: aa215ade                            mac.l        a6,d5,<<,-(a1),d5,ACC3 ;ACC3+=a6*d5; d5=*--pCurX;
0x00000548: a80e0ad0                            mac.l        a6,d4,<<,ACC2    ;ACC2+=a6*d4;
0x0000054c: a68e0ac0                            mac.l        a6,d3,<<,ACC1    ;ACC1+=a6*d3;
0x00000550: acdb6ace                            mac.l        a6,d6,<<,(a3)+,a6,ACC0 ;ACC0+=a6*d6; a6=*pCurCoef++;

0x00000554: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;

0x0000055a: a8214ade                            mac.l        a6,d4,<<,-(a1),d4,ACC3 ;ACC3+=a6*d4; d4=*--pCurX;
0x0000055e: a60e0ad0                            mac.l        a6,d3,<<,ACC2    ;ACC2+=a6*d3;
0x00000562: ac8e0ac0                            mac.l        a6,d6,<<,ACC1    ;ACC1+=a6*d6;
0x00000566: acdb5ace                            mac.l        a6,d5,<<,(a3)+,a6,ACC0 ;ACC0+=a6*d5; a6=*pCurCoef++;

0x0000056a: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;

⌨️ 快捷键说明

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