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

📄 iir32_emac.s.list

📁 freescale MAC DSP的算法库(FFT
💻 LIST
📖 第 1 页 / 共 4 页
字号:
0x00000570: a6213ade                            mac.l        a6,d3,<<,-(a1),d3,ACC3 ;ACC3+=a6*d3; d3=*--pCurX;
0x00000574: ac0e0ad0                            mac.l        a6,d6,<<,ACC2    ;ACC2+=a6*d6;
0x00000578: aa8e0ac0                            mac.l        a6,d5,<<,ACC1    ;ACC1+=a6*d5;
0x0000057c: acdb4ace                            mac.l        a6,d4,<<,(a3)+,a6,ACC0 ;ACC0+=a6*d4; a6=*pCurCoef++;
0x00000580: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;

0x00000586: ac216ade                            mac.l        a6,d6,<<,-(a1),d6,ACC3 ;ACC3+=a6*d6; d6=*--pCurX;
0x0000058a: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x0000058e: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x00000592: acdb3ace                            mac.l        a6,d3,<<,(a3)+,a6,ACC0 ;ACC0+=a6*d3; a6=*pCurCoef++;
0x00000596: 5882                                addq.l       #4,d2            ;
0x00000598: 609e                                bra          .FORk4           ;

                             .ENDFORk4                                        ;}
0x0000059a: 2400                                move.l       d0,d2            ;
0x0000059c: 5382                                subq.l       #1,d2            
0x0000059e: 028200000003                        andi.l       #3,d2            
                             ;
                             .FORk5                                           ;for(k=(N-1)%4; k>0; k--) {
0x000005a4: 0c8200000000                        cmpi.l       #0,d2            ;
0x000005aa: 67000024                            beq          .ENDFORk5        ;
0x000005ae: d7fc00000004                        adda.l       #4,a3            ;pCurCoef++;
0x000005b4: aa8e0ad0                            mac.l        a6,d5,<<,ACC3    ;ACC3+=a6*d5;
0x000005b8: a80e0ad0                            mac.l        a6,d4,<<,ACC2    ;ACC2+=a6*d4;
0x000005bc: a68e0ac0                            mac.l        a6,d3,<<,ACC1    ;ACC1+=a6*d3;
0x000005c0: acdb6ace                            mac.l        a6,d6,<<,(a3)+,a6,ACC0 ;ACC0+=a6*d6; a6=*pCurCoef++;
0x000005c4: 2a04                                move.l       d4,d5            ;d5=d4;
0x000005c6: 2803                                move.l       d3,d4            ;d4=d3;
0x000005c8: 2606                                move.l       d6,d3            ;d3=d6;
0x000005ca: 2c21                                move.l       -(a1),d6         ;d6=*--pCurX;
0x000005cc: 5382                                subq.l       #1,d2            ;
0x000005ce: 60d4                                bra          .FORk5           ;
                             .ENDFORk5                                        ;}
0x000005d0: 2c6f0048                            move.l       72(a7),a6        ;pPredY=pY+i-N-3;
0x000005d4: 2401                                move.l       d1,d2            
0x000005d6: 9480                                sub.l        d0,d2            
0x000005d8: 4bf62cf4                            lea          (-12,a6,d2.l*4),a5 
0x000005dc: 2c52                                move.l       (a2),a6          ;pCurCoef=pIIR->pIirCoef+N*2-1;
0x000005de: e388                                lsl.l        #1,d0            
0x000005e0: 47f60cfc                            lea          (-4,a6,d0.l*4),a3 
0x000005e4: e288                                lsr.l        #1,d0            
0x000005e6: 4cd50078                            movem.l      (a5),d3-d6       ;d3=*pPredY++; d4=pPredY++; d5=pPredY++; d6=pPredY++;
0x000005ea: dbfc00000010                        adda.l       #16,a5           
0x000005f0: 2c63                                move.l       -(a3),a6         ;a6=*--pCurCoef;
0x000005f2: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x000005f8: 243c00000008                        move.l       #8,d2            
                             ;
                             .FORk6                                           ;for(k=8; k<=N; k+=4) {
0x000005fe: b480                                cmp.l        d0,d2            ;
0x00000600: 6200005e                            bhi          .ENDFORk6        ;
0x00000604: a69d3ace                            mac.l        a6,d3,<<,(a5)+,d3,ACC0 ;ACC0+=a6*d3; d3=*pPredY++;
0x00000608: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x0000060c: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x00000610: ac636ade                            mac.l        a6,d6,<<,-(a3),a6,ACC3 ;ACC3+=a6*d6; a6=*--pCurCoef;
0x00000614: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x0000061a: a89d4ace                            mac.l        a6,d4,<<,(a5)+,d4,ACC0 ;ACC0+=a6*d4; d4=*pPredY++;
0x0000061e: aa8e0ac0                            mac.l        a6,d5,<<,ACC1    ;ACC1+=a6*d5;
0x00000622: ac0e0ad0                            mac.l        a6,d6,<<,ACC2    ;ACC2+=a6*d6;
0x00000626: ac633ade                            mac.l        a6,d3,<<,-(a3),a6,ACC3 ;ACC3+=a6*d3; a6=*--pCurCoef;
0x0000062a: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x00000630: aa9d5ace                            mac.l        a6,d5,<<,(a5)+,d5,ACC0 ;ACC0+=a6*d5; d5=*pPredY++;
0x00000634: ac8e0ac0                            mac.l        a6,d6,<<,ACC1    ;ACC1+=a6*d6;
0x00000638: a60e0ad0                            mac.l        a6,d3,<<,ACC2    ;ACC2+=a6*d3;
0x0000063c: ac634ade                            mac.l        a6,d4,<<,-(a3),a6,ACC3 ;ACC3+=a6*d4; a6=*--pCurCoef;
0x00000640: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x00000646: ac9d6ace                            mac.l        a6,d6,<<,(a5)+,d6,ACC0 ;ACC0+=a6*d6; d6=*pPredY++;
0x0000064a: a68e0ac0                            mac.l        a6,d3,<<,ACC1    ;ACC1+=a6*d3;
0x0000064e: a80e0ad0                            mac.l        a6,d4,<<,ACC2    ;ACC2+=a6*d4;
0x00000652: ac635ade                            mac.l        a6,d5,<<,-(a3),a6,ACC3 ;ACC3+=a6*d5; a6=*--pCurCoef;
0x00000656: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x0000065c: 5882                                addq.l       #4,d2            ;
0x0000065e: 609e                                bra          .FORk6           ;
                             .ENDFORk6                                        ;}
0x00000660: 2400                                move.l       d0,d2            ;d2=(N-4)%4;
0x00000662: 5982                                subq.l       #4,d2            
0x00000664: 028200000003                        andi.l       #3,d2            
                             ;
                             .FORk7                                           ;for(k=d2; k>0; k--) {
0x0000066a: 0c8200000000                        cmpi.l       #0,d2            ;
0x00000670: 67000024                            beq          .ENDFORk7        ;
0x00000674: a60e0ac0                            mac.l        a6,d3,<<,ACC0    ;ACC0+=a6*d3;
0x00000678: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x0000067c: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x00000680: ac636ade                            mac.l        a6,d6,<<,-(a3),a6,ACC3 ;ACC3+=a6*d6; a6=*--pCurCoef;
0x00000684: 2604                                move.l       d4,d3            ;d3=d4;
0x00000686: 2805                                move.l       d5,d4            ;d4=d5;
0x00000688: 2a06                                move.l       d6,d5            ;d5=d6;
0x0000068a: 2c1d                                move.l       (a5)+,d6         ;d6=*pPredY++;
0x0000068c: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x00000692: 5382                                subq.l       #1,d2            ;
0x00000694: 60d4                                bra          .FORk7           ;
                             .ENDFORk7                                        ;}
                             ;
0x00000696: 2c0e                                move.l       a6,d6            ;d6=a6;
0x00000698: a60e0ac0                            mac.l        a6,d3,<<,ACC0    ;ACC0+=a6*d3;
0x0000069c: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x000006a0: ace35ade                            mac.l        a6,d5,<<,-(a3),a6,ACC2 ;ACC2+=a6*d5; a6=*--pCurCoef;
0x000006a4: 260e                                move.l       a6,d3            ;d3=a6;
0x000006a6: 97fc00000004                        suba.l       #4,a3            ;pCurCoef--;
0x000006ac: a80e0ac0                            mac.l        a6,d4,<<,ACC0    ;ACC0+=a6*d4;
0x000006b0: ac635ace                            mac.l        a6,d5,<<,-(a3),a6,ACC1 ;ACC1+=a6*d5; a6=*--pCurCoef;
0x000006b4: aa0e0ac0                            mac.l        a6,d5,<<,ACC0    ;ACC0+=a6*d5;
                             ;
0x000006b8: a1c4                                movclr.l     ACC0,d4          ;d4=ACC0; ACC0=0;
0x000006ba: 20c4                                move.l       d4,(a0)+         ;(*pCurY++)=d4;
0x000006bc: a88e0ac0                            mac.l        a6,d4,<<,ACC1    ;ACC1+=a6*d4;
0x000006c0: a3c5                                movclr.l     ACC1,d5          ;d5=ACC1; ACC1=0;
0x000006c2: 20c5                                move.l       d5,(a0)+         ;(*pCurY++)=d5;
0x000006c4: a8030ad0                            mac.l        d3,d4,<<,ACC2    ;ACC2+=d3*d4;
0x000006c8: aa0e0ad0                            mac.l        a6,d5,<<,ACC2    ;ACC2+=a6*d5;
0x000006cc: a5c2                                movclr.l     ACC2,d2          ;d2=ACC2; ACC2=0;
0x000006ce: 20c2                                move.l       d2,(a0)+         ;(*pCurY++)=d2;
0x000006d0: a8860ad0                            mac.l        d6,d4,<<,ACC3    ;ACC3+=d6*d4;
0x000006d4: aa830ad0                            mac.l        d3,d5,<<,ACC3    ;ACC3+=d3*d5;
0x000006d8: a48e0ad0                            mac.l        a6,d2,<<,ACC3    ;ACC3+=a6*d2;
0x000006dc: a7c6                                movclr.l     ACC3,d6          ;d6=ACC3; ACC3=0;
0x000006de: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x000006e0: 5881                                addq.l       #4,d1            ;
0x000006e2: 6000fe18                            bra          .FORi3           ;
                             .ENDFORi3                                        ;}

0x000006e6: 2a07                                move.l       d7,d5            ;d5=(n-N)%4;
0x000006e8: 9a80                                sub.l        d0,d5            
0x000006ea: 028500000003                        andi.l       #3,d5            
0x000006f0: 2207                                move.l       d7,d1            ;d1=n-d5+1;
0x000006f2: 9285                                sub.l        d5,d1            
0x000006f4: 5281                                addq.l       #1,d1            
                                                                              ;}
                             ;
                             .FORi4                                           ;for(i=d1; i<=n; i++) {
0x000006f6: b287                                cmp.l        d7,d1            ;
0x000006f8: 6200003e                            bhi          .ENDFORi4        ;
0x000006fc: 2c6f0044                            move.l       68(a7),a6        ;pCurX=pX+i;
0x00000700: 43f61c00                            lea          (0,a6,d1.l*4),a1 
0x00000704: 2c6f0048                            move.l       72(a7),a6        ;pPredY=pY+i-1;
0x00000708: 4bf61cfc                            lea          (-4,a6,d1.l*4),a5 
0x0000070c: 2652                                move.l       (a2),a3          ;pCurCoef=pIIR->pIirCoef;
0x0000070e: 2621                                move.l       -(a1),d3         ;d3=*--pCurX;
0x00000710: 281b                                move.l       (a3)+,d4         ;d4=*pCurCoef++;
0x00000712: a8030ac0                            mac.l        d3,d4,<<,ACC0    ;ACC0+=d3*d4;
0x00000716: 7401                                moveq        #1,d2            ;
0x00000718: 281b                                move.l       (a3)+,d4         ;d4=*pCurCoef++;
                             .FORk8                                           ;for(k=1; k<N; k++) {
0x0000071a: b480                                cmp.l        d0,d2            ;
0x0000071c: 64000012                            bcc          .ENDFORk8        ;
0x00000720: 2621                                move.l       -(a1),d3         ;d3=*--pCurX;
0x00000722: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x00000726: 2625                                move.l       -(a5),d3         ;d3=*--pPredY;
0x00000728: a89b4ac3                            mac.l        d3,d4,<<,(a3)+,d4,ACC0 ;ACC0+=d3*d4; d4=*pCurCoef++;
0x0000072c: 5282                                addq.l       #1,d2            ;
0x0000072e: 60ea                                bra          .FORk8           ;
                             .ENDFORk8                                        ;}
0x00000730: a1c6                                movclr.l     ACC0,d6          ;d6=ACC0; ACC0=0;
0x00000732: 20c6                                move.l       d6,(a0)+         ;(*pCurY++)=d6;
0x00000734: 5281                                addq.l       #1,d1            ;
0x00000736: 60be                                bra          .FORi4           ;
                             .ENDFORi4                                        ;}
                             ;---====== Begin of History Buffer Loading ======---
0x00000738: 2c6f0044                            move.l       68(a7),a6        ;pCurX=pX+n-N+1;
0x0000073c: 9e80                                sub.l        d0,d7            
0x0000073e: 43f67c04                            lea          (4,a6,d7.l*4),a1 
0x00000742: 2c6f0048                            move.l       72(a7),a6        ;pCurY=pY+n-N+1;
0x00000746: 41f67c04                            lea          (4,a6,d7.l*4),a0 
0x0000074a: 286a0008                            move.l       8(a2),a4         ;pCurHistory=pIIR->pIirHistory;
0x0000074e: 7201                                moveq        #1,d1            ;for(i=1;i<N;i++) {
                             .FORbuf                                          
0x00000750: b280                                cmp.l        d0,d1            ;
0x00000752: 6400000e                            bcc          .ENDbuf          ;
0x00000756: 2c48                                move.l       a0,a6            ;*pCurHistory++=*pCurY++;
0x00000758: 5888                                addq.l       #4,a0            
0x0000075a: 28d6                                move.l       (a6),(a4)+       
0x0000075c: 28d9                                move.l       (a1)+,(a4)+      ;*pCurHistory++=*pCurX++;
0x0000075e: 5281                                addq.l       #1,d1            ;
0x00000760: 60ee                                bra          .FORbuf          ;
                             .ENDbuf                                          ;}
0x00000762: 2e2a0004                            move.l       4(a2),d7         ; pIIR->iIirHistoryCount=pIIR->iIirCoefCount-1;
0x00000766: 5387                                subq.l       #1,d7            
0x00000768: 2547000c                            move.l       d7,12(a2)        ;pIIR->iIirHistoryCount=pIIR->iIirCoefCount-1;
                             ; ---====== End of History Buffer Loading ======--
                             ;-=Restoring values of used registers=-
0x0000076c: 4feffffc                            lea          -4(a7),a7        
0x00000770: 2017                                move.l       (a7),d0          
0x00000772: a900                                move.l       d0,MACSR         
0x00000774: 4fef0004                            lea          4(a7),a7         
0x00000778: 4cd77fff                            movem.l      (a7),d0-d7/a0-a6 ;
0x0000077c: 4fef003c                            lea          60(a7),a7        
0x00000780: 4e75                                rts                           

⌨️ 快捷键说明

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