fft.lis

来自「在ICCAVR 环境实现的fft,」· LIS 代码 · 共 1,495 行 · 第 1/4 页

LIS
1,495
字号
 0814 0E940000          xcall add32f
 0818 F101              movw R30,R2
 081A 0083              std z+0,R16
 081C 1183              std z+1,R17
 081E 2283              std z+2,R18
 0820 3383              std z+3,R19
 0822                   .dbline 46
 0822 41E0              ldi R20,1
 0824 50E0              ldi R21,0
 0826 60E0              ldi R22,0
 0828 70E0              ldi R23,0
 082A FE01              movw R30,R28
 082C 2480              ldd R2,z+4
 082E 3580              ldd R3,z+5
 0830 4680              ldd R4,z+6
 0832 5780              ldd R5,z+7
 0834 240E              add R2,R20
 0836 351E              adc R3,R21
 0838 461E              adc R4,R22
 083A 571E              adc R5,R23
 083C 44E0              ldi R20,4
 083E 50E0              ldi R21,0
 0840 60E0              ldi R22,0
 0842 70E0              ldi R23,0
 0844 5A92              st -y,R5
 0846 4A92              st -y,R4
 0848 3A92              st -y,R3
 084A 2A92              st -y,R2
 084C 8A01              movw R16,R20
 084E 9B01              movw R18,R22
 0850 0E940000          xcall empy32u
 0854 1801              movw R2,R16
 0856 2C0C              add R2,R12
 0858 3D1C              adc R3,R13
 085A F101              movw R30,R2
 085C 4080              ldd R4,z+0
 085E 5180              ldd R5,z+1
 0860 6280              ldd R6,z+2
 0862 7380              ldd R7,z+3
 0864 7A92              st -y,R7
 0866 6A92              st -y,R6
 0868 5A92              st -y,R5
 086A 4A92              st -y,R4
 086C FE01              movw R30,R28
 086E            ; stack offset 4
 086E 4088              ldd R4,z+16
 0870 5188              ldd R5,z+17
 0872 6288              ldd R6,z+18
 0874 7388              ldd R7,z+19
 0876 7A92              st -y,R7
 0878 6A92              st -y,R6
 087A 5A92              st -y,R5
 087C 4A92              st -y,R4
 087E 0E940000          xcall add32f
 0882 F101              movw R30,R2
 0884 0083              std z+0,R16
 0886 1183              std z+1,R17
 0888 2283              std z+2,R18
 088A 3383              std z+3,R19
 088C                   .dbline 47
 088C           L26:
 088C                   .dbline 39
 088C FE01              movw R30,R28
 088E 20A0              ldd R2,z+32
 0890 31A0              ldd R3,z+33
 0892 42A0              ldd R4,z+34
 0894 53A0              ldd R5,z+35
 0896 FE01              movw R30,R28
 0898 6480              ldd R6,z+4
 089A 7580              ldd R7,z+5
 089C 8680              ldd R8,z+6
 089E 9780              ldd R9,z+7
 08A0 620C              add R6,R2
 08A2 731C              adc R7,R3
 08A4 841C              adc R8,R4
 08A6 951C              adc R9,R5
 08A8 FE01              movw R30,R28
 08AA 6482              std z+4,R6
 08AC 7582              std z+5,R7
 08AE 8682              std z+6,R8
 08B0 9782              std z+7,R9
 08B2           L28:
 08B2                   .dbline 39
 08B2 FE01              movw R30,R28
 08B4 248C              ldd R2,z+28
 08B6 358C              ldd R3,z+29
 08B8 468C              ldd R4,z+30
 08BA 578C              ldd R5,z+31
 08BC FE01              movw R30,R28
 08BE 6480              ldd R6,z+4
 08C0 7580              ldd R7,z+5
 08C2 8680              ldd R8,z+6
 08C4 9780              ldd R9,z+7
 08C6 2614              cp R2,R6
 08C8 3704              cpc R3,R7
 08CA 4804              cpc R4,R8
 08CC 5904              cpc R5,R9
 08CE 08F0              brlo X3
 08D0 20CE              xjmp L25
 08D2           X3:
 08D2                   .dbline 48
 08D2 FE01              movw R30,R28
 08D4 2488              ldd R2,z+20
 08D6 3588              ldd R3,z+21
 08D8 4688              ldd R4,z+22
 08DA 5788              ldd R5,z+23
 08DC FE01              movw R30,R28
 08DE 20A6              std z+40,R2
 08E0 31A6              std z+41,R3
 08E2 42A6              std z+42,R4
 08E4 53A6              std z+43,R5
 08E6 FE01              movw R30,R28
 08E8 2488              ldd R2,z+20
 08EA 3588              ldd R3,z+21
 08EC 4688              ldd R4,z+22
 08EE 5788              ldd R5,z+23
 08F0 5A92              st -y,R5
 08F2 4A92              st -y,R4
 08F4 3A92              st -y,R3
 08F6 2A92              st -y,R2
 08F8 FE01              movw R30,R28
 08FA            ; stack offset 4
 08FA 20A8              ldd R2,z+48
 08FC 31A8              ldd R3,z+49
 08FE 42A8              ldd R4,z+50
 0900 53A8              ldd R5,z+51
 0902 5A92              st -y,R5
 0904 4A92              st -y,R4
 0906 3A92              st -y,R3
 0908 2A92              st -y,R2
 090A 0E940000          xcall empy32fs
 090E FE01              movw R30,R28
 0910            ; stack offset 4
 0910 2488              ldd R2,z+20
 0912 3588              ldd R3,z+21
 0914 4688              ldd R4,z+22
 0916 5788              ldd R5,z+23
 0918 5A92              st -y,R5
 091A 4A92              st -y,R4
 091C 3A92              st -y,R3
 091E 2A92              st -y,R2
 0920 FE01              movw R30,R28
 0922            ; stack offset 8
 0922 20AC              ldd R2,z+56
 0924 31AC              ldd R3,z+57
 0926 42AC              ldd R4,z+58
 0928 53AC              ldd R5,z+59
 092A 5A92              st -y,R5
 092C 4A92              st -y,R4
 092E 3A92              st -y,R3
 0930 2A92              st -y,R2
 0932 0E940000          xcall empy32fs
 0936 0E940000          xcall sub32fs
 093A FE01              movw R30,R28
 093C            ; stack offset 4
 093C 208C              ldd R2,z+24
 093E 318C              ldd R3,z+25
 0940 428C              ldd R4,z+26
 0942 538C              ldd R5,z+27
 0944 5A92              st -y,R5
 0946 4A92              st -y,R4
 0948 3A92              st -y,R3
 094A 2A92              st -y,R2
 094C 0E940000          xcall add32f
 0950 FE01              movw R30,R28
 0952 048B              std z+20,R16
 0954 158B              std z+21,R17
 0956 268B              std z+22,R18
 0958 378B              std z+23,R19
 095A                   .dbline 49
 095A FE01              movw R30,R28
 095C 2088              ldd R2,z+16
 095E 3188              ldd R3,z+17
 0960 4288              ldd R4,z+18
 0962 5388              ldd R5,z+19
 0964 5A92              st -y,R5
 0966 4A92              st -y,R4
 0968 3A92              st -y,R3
 096A 2A92              st -y,R2
 096C FE01              movw R30,R28
 096E            ; stack offset 4
 096E 20A8              ldd R2,z+48
 0970 31A8              ldd R3,z+49
 0972 42A8              ldd R4,z+50
 0974 53A8              ldd R5,z+51
 0976 5A92              st -y,R5
 0978 4A92              st -y,R4
 097A 3A92              st -y,R3
 097C 2A92              st -y,R2
 097E 0E940000          xcall empy32fs
 0982 FE01              movw R30,R28
 0984            ; stack offset 4
 0984 24A4              ldd R2,z+44
 0986 35A4              ldd R3,z+45
 0988 46A4              ldd R4,z+46
 098A 57A4              ldd R5,z+47
 098C 5A92              st -y,R5
 098E 4A92              st -y,R4
 0990 3A92              st -y,R3
 0992 2A92              st -y,R2
 0994 FE01              movw R30,R28
 0996            ; stack offset 8
 0996 20AC              ldd R2,z+56
 0998 31AC              ldd R3,z+57
 099A 42AC              ldd R4,z+58
 099C 53AC              ldd R5,z+59
 099E 5A92              st -y,R5
 09A0 4A92              st -y,R4
 09A2 3A92              st -y,R3
 09A4 2A92              st -y,R2
 09A6 0E940000          xcall empy32fs
 09AA 0E940000          xcall add32fs
 09AE FE01              movw R30,R28
 09B0            ; stack offset 4
 09B0 2488              ldd R2,z+20
 09B2 3588              ldd R3,z+21
 09B4 4688              ldd R4,z+22
 09B6 5788              ldd R5,z+23
 09B8 5A92              st -y,R5
 09BA 4A92              st -y,R4
 09BC 3A92              st -y,R3
 09BE 2A92              st -y,R2
 09C0 0E940000          xcall add32f
 09C4 FE01              movw R30,R28
 09C6 008B              std z+16,R16
 09C8 118B              std z+17,R17
 09CA 228B              std z+18,R18
 09CC 338B              std z+19,R19
 09CE                   .dbline 50
 09CE           L22:
 09CE                   .dbline 38
 09CE 42E0              ldi R20,2
 09D0 50E0              ldi R21,0
 09D2 60E0              ldi R22,0
 09D4 70E0              ldi R23,0
 09D6 FE01              movw R30,R28
 09D8 24A0              ldd R2,z+36
 09DA 35A0              ldd R3,z+37
 09DC 46A0              ldd R4,z+38
 09DE 57A0              ldd R5,z+39
 09E0 240E              add R2,R20
 09E2 351E              adc R3,R21
 09E4 461E              adc R4,R22
 09E6 571E              adc R5,R23
 09E8 FE01              movw R30,R28
 09EA 24A2              std z+36,R2
 09EC 35A2              std z+37,R3
 09EE 46A2              std z+38,R4
 09F0 57A2              std z+39,R5
 09F2           L24:
 09F2                   .dbline 38
 09F2 FE01              movw R30,R28
 09F4 208C              ldd R2,z+24
 09F6 318C              ldd R3,z+25
 09F8 428C              ldd R4,z+26
 09FA 538C              ldd R5,z+27
 09FC FE01              movw R30,R28
 09FE 64A0              ldd R6,z+36
 0A00 75A0              ldd R7,z+37
 0A02 86A0              ldd R8,z+38
 0A04 97A0              ldd R9,z+39
 0A06 6214              cp R6,R2
 0A08 7304              cpc R7,R3
 0A0A 8404              cpc R8,R4
 0A0C 9504              cpc R9,R5
 0A0E 08F4              brsh X4
 0A10 75CD              xjmp L21
 0A12           X4:
 0A12                   .dbline 51
 0A12 FE01              movw R30,R28
 0A14 20A0              ldd R2,z+32
 0A16 31A0              ldd R3,z+33
 0A18 42A0              ldd R4,z+34
 0A1A 53A0              ldd R5,z+35
 0A1C FE01              movw R30,R28
 0A1E 208E              std z+24,R2
 0A20 318E              std z+25,R3
 0A22 428E              std z+26,R4
 0A24 538E              std z+27,R5
 0A26                   .dbline 52
 0A26           L13:
 0A26                   .dbline 30
 0A26 FE01              movw R30,R28
 0A28 208C              ldd R2,z+24
 0A2A 318C              ldd R3,z+25
 0A2C 428C              ldd R4,z+26
 0A2E 538C              ldd R5,z+27
 0A30 FE01              movw R30,R28
 0A32 648C              ldd R6,z+28
 0A34 758C              ldd R7,z+29
 0A36 868C              ldd R8,z+30
 0A38 978C              ldd R9,z+31
 0A3A 2614              cp R2,R6
 0A3C 3704              cpc R3,R7
 0A3E 4804              cpc R4,R8
 0A40 5904              cpc R5,R9
 0A42 08F4              brsh X5
 0A44 9ECC              xjmp L12
 0A46           X5:
 0A46                   .dbline -2
 0A46           L1:
 0A46 E896              adiw R28,56
 0A48 0E940000          xcall pop_gset4
 0A4C 2296              adiw R28,2
 0A4E                   .dbline 0 ; func end
 0A4E 0895              ret
 0A50                   .dbsym l theta 52 D
 0A50                   .dbsym l wpi 48 D
 0A50                   .dbsym l wpr 44 D
 0A50                   .dbsym l wtemp 40 D
 0A50                   .dbsym l m 36 l
 0A50                   .dbsym l istep 32 l
 0A50                   .dbsym l n 28 l
 0A50                   .dbsym l mmax 24 l
 0A50                   .dbsym l wr 20 D
 0A50                   .dbsym l wi 16 D
 0A50                   .dbsym l tempi 12 D
 0A50                   .dbsym l tempr 8 D
 0A50                   .dbsym l i 4 l
 0A50                   .dbsym l j 0 l
 0A50                   .dbsym r isign 10 I
 0A50                   .dbsym l nn 64 l
 0A50                   .dbsym r data 12 pD
 0A50                   .dbend
 0A50                   .dbfunc e main _main fV
                        .even
 0A50           _main::
 0A50                   .dbline -1
 0A50                   .dbline 57
 0A50           ;       for (i=m;i<=n;i+=istep) {
 0A50           ;         j=i+mmax;
 0A50           ;         tempr=wr*data[j]-wi*data[j+1];
 0A50           ;         tempi=wr*data[j+1]+wi*data[j];
 0A50           ;         data[j]=data[i]-tempr;
 0A50           ;         data[j+1]=data[i+1]-tempi;
 0A50           ;         data[i] += tempr;
 0A50           ;         data[i+1] += tempi;
 0A50           ;       }
 0A50           ;       wr=(wtemp=wr)*wpr-wi*wpi+wr;
 0A50           ;       wi=wi*wpr+wtemp*wpi+wi;
 0A50           ;     }
 0A50           ;     mmax=istep;
 0A50           ;   }
 0A50           ; }
 0A50           ; #undef SWAP 
 0A50           ; 
 0A50           ; void main(void)
 0A50           ; {
 0A50           L30:
 0A50                   .dbline 58
 0A50           L31:
 0A50                   .dbline 58
 0A50 FFCF              xjmp L30
 0A52           X6:
 0A52                   .dbline -2
 0A52           L29:
 0A52                   .dbline 0 ; func end
 0A52 0895              ret
 0A54                   .dbend
                        .area lit(rom, con, rel)
 0000           L20:
 0000 00000000          .word 0x0,0x0
 0004           L19:
 0004 0000803F          .word 0x0,0x3f80
 0008           L18:
 0008 000000C0          .word 0x0,0xc000
 000C           L17:
 000C 0000003F          .word 0x0,0x3f00
 0010           L16:
 0010 00000040          .word 0x0,0x4000
 0014           L15:
 0014 DB0FC940          .word 0xfdb,0x40c9

⌨️ 快捷键说明

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