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

📄 fftbook.lis

📁 在ICCAVR 环境实现的fft,
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0834 81E0              ldi R24,1
 0836 90E0              ldi R25,0
 0838 90934700          sts _p+1,R25
 083C 80934600          sts _p,R24
 0840                   .dbline 66
 0840 20905000          lds R2,_L
 0844 30905100          lds R3,_L+1
 0848 84E0              ldi R24,4
 084A 8219              sub R24,R2
 084C 9309              sbc R25,R3
 084E 90934F00          sts _i+1,R25
 0852 80934E00          sts _i,R24
 0856 15C0              xjmp L27
 0858           L26:
 0858                   .dbline 68
 0858                   .dbline 69
 0858 20914600          lds R18,_p
 085C 30914700          lds R19,_p+1
 0860 02E0              ldi R16,2
 0862 10E0              ldi R17,0
 0864 0E940000          xcall empy16s
 0868 10934700          sts _p+1,R17
 086C 00934600          sts _p,R16
 0870                   .dbline 69
 0870 80914E00          lds R24,_i
 0874 90914F00          lds R25,_i+1
 0878 0197              sbiw R24,1
 087A 90934F00          sts _i+1,R25
 087E 80934E00          sts _i,R24
 0882                   .dbline 70
 0882           L27:
 0882                   .dbline 67
 0882           ;            while(i>0)                                 
 0882 2224              clr R2
 0884 3324              clr R3
 0886 40904E00          lds R4,_i
 088A 50904F00          lds R5,_i+1
 088E 2414              cp R2,R4
 0890 3504              cpc R3,R5
 0892 14F3              brlt L26
 0894                   .dbline 71
 0894           ;                {
 0894           ;                          p=p*2; i--;
 0894           ;                          }
 0894           ;            p=p*j;
 0894 20914C00          lds R18,_j
 0898 30914D00          lds R19,_j+1
 089C 00914600          lds R16,_p
 08A0 10914700          lds R17,_p+1
 08A4 0E940000          xcall empy16s
 08A8 10934700          sts _p+1,R17
 08AC 00934600          sts _p,R16
 08B0                   .dbline 72
 08B0           ;             for(k=j;k<16;k=k+2*b)                             // 第三层循环
 08B0 20904C00          lds R2,_j
 08B4 30904D00          lds R3,_j+1
 08B8 30924B00          sts _k+1,R3
 08BC 20924A00          sts _k,R2
 08C0 13C0              xjmp L32
 08C2           L29:
 08C2                   .dbline 73
 08C2                   .dbline 74
 08C2 06DC              xcall _FFTT
 08C4                   .dbline 75
 08C4           L30:
 08C4                   .dbline 72
 08C4 20914800          lds R18,_b
 08C8 30914900          lds R19,_b+1
 08CC 02E0              ldi R16,2
 08CE 10E0              ldi R17,0
 08D0 0E940000          xcall empy16s
 08D4 20904A00          lds R2,_k
 08D8 30904B00          lds R3,_k+1
 08DC 200E              add R2,R16
 08DE 311E              adc R3,R17
 08E0 30924B00          sts _k+1,R3
 08E4 20924A00          sts _k,R2
 08E8           L32:
 08E8                   .dbline 72
 08E8 80914A00          lds R24,_k
 08EC 90914B00          lds R25,_k+1
 08F0 8031              cpi R24,16
 08F2 E0E0              ldi R30,0
 08F4 9E07              cpc R25,R30
 08F6 2CF3              brlt L29
 08F8                   .dbline 76
 08F8           L23:
 08F8                   .dbline 64
 08F8 80914C00          lds R24,_j
 08FC 90914D00          lds R25,_j+1
 0900 0196              adiw R24,1
 0902 90934D00          sts _j+1,R25
 0906 80934C00          sts _j,R24
 090A           L25:
 090A                   .dbline 64
 090A 80914800          lds R24,_b
 090E 90914900          lds R25,_b+1
 0912 0197              sbiw R24,1
 0914 20904C00          lds R2,_j
 0918 30904D00          lds R3,_j+1
 091C 8215              cp R24,R2
 091E 9305              cpc R25,R3
 0920 0CF0              brlt X0
 0922 88CF              xjmp L22
 0924           X0:
 0924                   .dbline 77
 0924           L16:
 0924                   .dbline 57
 0924 80915000          lds R24,_L
 0928 90915100          lds R25,_L+1
 092C 0196              adiw R24,1
 092E 90935100          sts _L+1,R25
 0932 80935000          sts _L,R24
 0936                   .dbline 57
 0936 84E0              ldi R24,4
 0938 90E0              ldi R25,0
 093A 20905000          lds R2,_L
 093E 30905100          lds R3,_L+1
 0942 8215              cp R24,R2
 0944 9305              cpc R25,R3
 0946 0CF0              brlt X1
 0948 42CF              xjmp L15
 094A           X1:
 094A                   .dbline 78
 094A           ;               { 
 094A           ;                 FFTT();
 094A           ;               }
 094A           ;           }
 094A           ;   } 
 094A           ;   for(i=0;i<32;i++)                                                   // 32次以下的谐波分析
 094A 2224              clr R2
 094C 3324              clr R3
 094E 30924F00          sts _i+1,R3
 0952 20924E00          sts _i,R2
 0956           L33:
 0956                   .dbline 79
 0956           ;    {
 0956                   .dbline 80
 0956           ;     w[i]=sqrt(dataR[i]*dataR[i]+dataI[i]*dataI[i]);
 0956 20914E00          lds R18,_i
 095A 30914F00          lds R19,_i+1
 095E 02E0              ldi R16,2
 0960 10E0              ldi R17,0
 0962 0E940000          xcall empy16s
 0966 F801              movw R30,R16
 0968 E60F              add R30,R22
 096A F71F              adc R31,R23
 096C 2080              ldd R2,z+0
 096E 3180              ldd R3,z+1
 0970 F801              movw R30,R16
 0972 E40F              add R30,R20
 0974 F51F              adc R31,R21
 0976 4080              ldd R4,z+0
 0978 5180              ldd R5,z+1
 097A 9201              movw R18,R4
 097C 8201              movw R16,R4
 097E 0E940000          xcall empy16s
 0982 2801              movw R4,R16
 0984 9101              movw R18,R2
 0986 8101              movw R16,R2
 0988 0E940000          xcall empy16s
 098C 040D              add R16,R4
 098E 151D              adc R17,R5
 0990 0E940000          xcall int2fp
 0994 0E940000          xcall _sqrt
 0998 1801              movw R2,R16
 099A 2901              movw R4,R18
 099C 3A93              st -y,R19
 099E 2A93              st -y,R18
 09A0 1A93              st -y,R17
 09A2 0A93              st -y,R16
 09A4 00E0              ldi R16,<L39
 09A6 10E0              ldi R17,>L39
 09A8 0E940000          xcall lpm32
 09AC 3A93              st -y,R19
 09AE 2A93              st -y,R18
 09B0 1A93              st -y,R17
 09B2 0A93              st -y,R16
 09B4 0E940000          xcall cmp32f
 09B8 ACF0              brlt L37
 09BA 5A92              st -y,R5
 09BC 4A92              st -y,R4
 09BE 3A92              st -y,R3
 09C0 2A92              st -y,R2
 09C2 00E0              ldi R16,<L39
 09C4 10E0              ldi R17,>L39
 09C6 0E940000          xcall lpm32
 09CA 3A93              st -y,R19
 09CC 2A93              st -y,R18
 09CE 1A93              st -y,R17
 09D0 0A93              st -y,R16
 09D2 0E940000          xcall sub32f
 09D6 0E940000          xcall fp2int
 09DA C801              movw R24,R16
 09DC 8050              subi R24,0  ; offset = 32768
 09DE 9048              sbci R25,128
 09E0 5C01              movw R10,R24
 09E2 05C0              xjmp L38
 09E4           L37:
 09E4 8101              movw R16,R2
 09E6 9201              movw R18,R4
 09E8 0E940000          xcall fp2int
 09EC 5801              movw R10,R16
 09EE           L38:
 09EE 80E0              ldi R24,<_w
 09F0 90E0              ldi R25,>_w
 09F2 E0914E00          lds R30,_i
 09F6 F0914F00          lds R31,_i+1
 09FA E80F              add R30,R24
 09FC F91F              adc R31,R25
 09FE A082              std z+0,R10
 0A00                   .dbline 81
 0A00 60904E00          lds R6,_i
 0A04 70904F00          lds R7,_i+1
 0A08 680E              add R6,R24
 0A0A 791E              adc R7,R25
 0A0C 10E4              ldi R17,64
 0A0E F301              movw R30,R6
 0A10 0081              ldd R16,z+0
 0A12 0E940000          xcall div8u
 0A16 F301              movw R30,R6
 0A18 0083              std z+0,R16
 0A1A                   .dbline 82
 0A1A           L34:
 0A1A                   .dbline 78
 0A1A 80914E00          lds R24,_i
 0A1E 90914F00          lds R25,_i+1
 0A22 0196              adiw R24,1
 0A24 90934F00          sts _i+1,R25
 0A28 80934E00          sts _i,R24
 0A2C                   .dbline 78
 0A2C 8032              cpi R24,32
 0A2E E0E0              ldi R30,0
 0A30 9E07              cpc R25,R30
 0A32 0CF4              brge X2
 0A34 90CF              xjmp L33
 0A36           X2:
 0A36                   .dbline 83
 0A36           ;     w[i]=w[i]/64;
 0A36           ;    }
 0A36           ;   w[0]=w[0]/2;
 0A36 60902600          lds R6,_w
 0A3A 6694              lsr R6
 0A3C 60922600          sts _w,R6
 0A40                   .dbline -2
 0A40           L6:
 0A40 0E940000          xcall pop_gset3
 0A44                   .dbline 0 ; func end
 0A44 0895              ret
 0A46                   .dbsym r dataI 20 pI
 0A46                   .dbsym r dataR 22 pI
 0A46                   .dbend
 0A46                   .dbfunc e main _main fV
                        .even
 0A46           _main::
 0A46                   .dbline -1
 0A46                   .dbline 87
 0A46           ; }  
 0A46           ; 
 0A46           ; void main ()
 0A46           ;   {
 0A46                   .dbline 88
 0A46           ;     FFT(dataR,dataI);
 0A46 20E0              ldi R18,<_dataI
 0A48 30E0              ldi R19,>_dataI
 0A4A 00E0              ldi R16,<_dataR
 0A4C 10E0              ldi R17,>_dataR
 0A4E 6DDE              xcall _FFT
 0A50           L41:
 0A50                   .dbline 89
 0A50           L42:
 0A50                   .dbline 89
 0A50 FFCF              xjmp L41
 0A52           X3:
 0A52                   .dbline -2
 0A52           L40:
 0A52                   .dbline 0 ; func end
 0A52 0895              ret
 0A54                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\HJN\Design\AVR\fft\fftbook.c
 0000           _dataI::
 0000                   .blkb 32
 0020                   .dbsym e dataI _dataI A[32:16]I
 0020           _temp::
 0020                   .blkb 2
 0022                   .dbsym e temp _temp i
 0022           _TI::
 0022                   .blkb 2
 0024                   .dbsym e TI _TI i
 0024           _TR::
 0024                   .blkb 2
 0026                   .dbsym e TR _TR i
 0026           _w::
 0026                   .blkb 32
 0046                   .dbsym e w _w A[32:32]c
 0046           _p::
 0046                   .blkb 2
 0048                   .dbsym e p _p I
 0048           _b::
 0048                   .blkb 2
 004A                   .dbsym e b _b I
 004A           _k::
 004A                   .blkb 2
 004C                   .dbsym e k _k I
 004C           _j::
 004C                   .blkb 2
 004E                   .dbsym e j _j I
 004E           _i::
 004E                   .blkb 2
 0050                   .dbsym e i _i I
 0050           _L::
 0050                   .blkb 2
 0052                   .dbsym e L _L I
 0052           _x6::
 0052                   .blkb 2
 0054                   .dbsym e x6 _x6 i
 0054           _x5::
 0054                   .blkb 2
 0056                   .dbsym e x5 _x5 i
 0056           _x4::
 0056                   .blkb 2
 0058                   .dbsym e x4 _x4 i
 0058           _x3::
 0058                   .blkb 2
 005A                   .dbsym e x3 _x3 i
 005A           _x2::
 005A                   .blkb 2
 005C                   .dbsym e x2 _x2 i
 005C           _x1::
 005C                   .blkb 2
 005E                   .dbsym e x1 _x1 i
 005E           _x0::
 005E                   .blkb 2
 0060                   .dbsym e x0 _x0 i
                        .area lit(rom, con, rel)
 0000           L39:
 0000 00000047          .word 0x0,0x4700
 0004           L5:
 0004 00000040          .word 0x0,0x4000
 0008           L4:
 0008 00008041          .word 0x0,0x4180
 000C           L3:
 000C DA0FC940          .word 0xfda,0x40c9

⌨️ 快捷键说明

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