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

📄 fffff.lis

📁 在ICCAVR 环境实现的fft,
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 04E4 4A92              st -y,R4
 04E6 3A92              st -y,R3
 04E8 2A92              st -y,R2
 04EA 0E940000          xcall empy32fs
 04EE 0E940000          xcall sub32fs
 04F2 9601              movw R18,R12
 04F4            ; stack offset 4
 04F4 0C8C              ldd R0,y+28
 04F6 1D8C              ldd R1,y+29
 04F8 200D              add R18,R0
 04FA 311D              adc R19,R1
 04FC 02E0              ldi R16,2
 04FE 10E0              ldi R17,0
 0500 0E940000          xcall empy16s
 0504 F801              movw R30,R16
 0506            ; stack offset 4
 0506 0DA4              ldd R0,y+45
 0508 1EA4              ldd R1,y+46
 050A E00D              add R30,R0
 050C F11D              adc R31,R1
 050E 0081              ldd R16,z+0
 0510 1181              ldd R17,z+1
 0512 0E940000          xcall int2fp
 0516 3A93              st -y,R19
 0518 2A93              st -y,R18
 051A 1A93              st -y,R17
 051C 0A93              st -y,R16
 051E 9A92              st -y,R9
 0520 8A92              st -y,R8
 0522 7A92              st -y,R7
 0524 6A92              st -y,R6
 0526 0E940000          xcall empy32fs
 052A 0E940000          xcall sub32f
 052E 0E940000          xcall fp2int
 0532 FC01              movw R30,R24
 0534 1183              std z+1,R17
 0536 0083              std z+0,R16
 0538                   .dbline 39
 0538 00E0              ldi R16,<L28
 053A 10E0              ldi R17,>L28
 053C 0E940000          xcall lpm32
 0540 3A93              st -y,R19
 0542 2A93              st -y,R18
 0544 1A93              st -y,R17
 0546 0A93              st -y,R16
 0548 8501              movw R16,R10
 054A 0E940000          xcall int2fp
 054E 3A93              st -y,R19
 0550 2A93              st -y,R18
 0552 1A93              st -y,R17
 0554 0A93              st -y,R16
 0556 0E940000          xcall empy32f
 055A 0E940000          xcall _sin
 055E 1801              movw R2,R16
 0560 2901              movw R4,R18
 0562 00E0              ldi R16,<L28
 0564 10E0              ldi R17,>L28
 0566 0E940000          xcall lpm32
 056A 3A93              st -y,R19
 056C 2A93              st -y,R18
 056E 1A93              st -y,R17
 0570 0A93              st -y,R16
 0572 8501              movw R16,R10
 0574 0E940000          xcall int2fp
 0578 3A93              st -y,R19
 057A 2A93              st -y,R18
 057C 1A93              st -y,R17
 057E 0A93              st -y,R16
 0580 0E940000          xcall empy32f
 0584 2F92              push R2
 0586 3F92              push R3
 0588 4F92              push R4
 058A 5F92              push R5
 058C 0E940000          xcall _cos
 0590 5F90              pop R5
 0592 4F90              pop R4
 0594 3F90              pop R3
 0596 2F90              pop R2
 0598 3801              movw R6,R16
 059A 4901              movw R8,R18
 059C FE01              movw R30,R28
 059E 4481              ldd R20,z+4
 05A0 5581              ldd R21,z+5
 05A2 6681              ldd R22,z+6
 05A4 7781              ldd R23,z+7
 05A6 7A93              st -y,R23
 05A8 6A93              st -y,R22
 05AA 5A93              st -y,R21
 05AC 4A93              st -y,R20
 05AE FE01              movw R30,R28
 05B0            ; stack offset 4
 05B0 4485              ldd R20,z+12
 05B2 5585              ldd R21,z+13
 05B4 6685              ldd R22,z+14
 05B6 7785              ldd R23,z+15
 05B8 7A93              st -y,R23
 05BA 6A93              st -y,R22
 05BC 5A93              st -y,R21
 05BE 4A93              st -y,R20
 05C0 5A92              st -y,R5
 05C2 4A92              st -y,R4
 05C4 3A92              st -y,R3
 05C6 2A92              st -y,R2
 05C8 0E940000          xcall empy32fs
 05CC 0E940000          xcall add32fs
 05D0 9601              movw R18,R12
 05D2            ; stack offset 4
 05D2 0C8C              ldd R0,y+28
 05D4 1D8C              ldd R1,y+29
 05D6 200D              add R18,R0
 05D8 311D              adc R19,R1
 05DA 02E0              ldi R16,2
 05DC 10E0              ldi R17,0
 05DE 0E940000          xcall empy16s
 05E2 F801              movw R30,R16
 05E4            ; stack offset 4
 05E4 0DA4              ldd R0,y+45
 05E6 1EA4              ldd R1,y+46
 05E8 E00D              add R30,R0
 05EA F11D              adc R31,R1
 05EC 0081              ldd R16,z+0
 05EE 1181              ldd R17,z+1
 05F0 0E940000          xcall int2fp
 05F4 3A93              st -y,R19
 05F6 2A93              st -y,R18
 05F8 1A93              st -y,R17
 05FA 0A93              st -y,R16
 05FC 9A92              st -y,R9
 05FE 8A92              st -y,R8
 0600 7A92              st -y,R7
 0602 6A92              st -y,R6
 0604 0E940000          xcall empy32fs
 0608 0E940000          xcall sub32f
 060C 0E940000          xcall fp2int
 0610 1801              movw R2,R16
 0612 9601              movw R18,R12
 0614 088C              ldd R0,y+24
 0616 198C              ldd R1,y+25
 0618 200D              add R18,R0
 061A 311D              adc R19,R1
 061C 02E0              ldi R16,2
 061E 10E0              ldi R17,0
 0620 0E940000          xcall empy16s
 0624 F801              movw R30,R16
 0626 09A4              ldd R0,y+41
 0628 1AA4              ldd R1,y+42
 062A E00D              add R30,R0
 062C F11D              adc R31,R1
 062E 3182              std z+1,R3
 0630 2082              std z+0,R2
 0632                   .dbline 40
 0632           L25:
 0632                   .dbline 34
 0632 02E0              ldi R16,2
 0634 10E0              ldi R17,0
 0636 288D              ldd R18,y+24
 0638 398D              ldd R19,y+25
 063A 0E940000          xcall empy16s
 063E C00E              add R12,R16
 0640 D11E              adc R13,R17
 0642           L27:
 0642                   .dbline 34
 0642 C601              movw R24,R12
 0644 8031              cpi R24,16
 0646 E0E0              ldi R30,0
 0648 9E07              cpc R25,R30
 064A 0CF4              brge X1
 064C AFCD              xjmp L24
 064E           X1:
 064E                   .dbline 41
 064E           L18:
 064E                   .dbline 30
 064E C701              movw R24,R14
 0650 0196              adiw R24,1
 0652 7C01              movw R14,R24
 0654           L20:
 0654                   .dbline 30
 0654 888D              ldd R24,y+24
 0656 998D              ldd R25,y+25
 0658 0197              sbiw R24,1
 065A 8E15              cp R24,R14
 065C 9F05              cpc R25,R15
 065E 0CF0              brlt X2
 0660 87CD              xjmp L17
 0662           X2:
 0662                   .dbline 42
 0662           L11:
 0662                   .dbline 26
 0662 8B8D              ldd R24,y+27
 0664 9C8D              ldd R25,y+28
 0666 0196              adiw R24,1
 0668 9C8F              std y+28,R25
 066A 8B8F              std y+27,R24
 066C                   .dbline 26
 066C 84E0              ldi R24,4
 066E 90E0              ldi R25,0
 0670 0B8C              ldd R0,y+27
 0672 1C8C              ldd R1,y+28
 0674 8015              cp R24,R0
 0676 9105              cpc R25,R1
 0678 0CF0              brlt X3
 067A 5FCD              xjmp L10
 067C           X3:
 067C                   .dbline 43
 067C           ; { TR=dataR[k]; TI=dataI[k]; temp=dataR[k+b];
 067C           ; dataR[k]=dataR[k]+dataR[k+b]*cos(qq*p)+dataI[k+b]*sin(qq*p);
 067C           ; dataI[k]=dataI[k]-dataR[k+b]*sin(qq*p)+dataI[k+b]*cos(qq*p);
 067C           ; dataR[k+b]=TR-dataR[k+b]*cos(qq*p)-dataI[k+b]*sin(qq*p);
 067C           ; dataI[k+b]=TI+temp*sin(qq*p)-dataI[k+b]*cos(qq*p);
 067C           ; } /* END for (3) */
 067C           ; } /* END for (2) */
 067C           ; } /* END for (1) */
 067C           ; for(i=0;i<32;i++)
 067C 0024              clr R0
 067E 0A8E              std y+26,R0
 0680 45C0              xjmp L32
 0682           L29:
 0682                   .dbline 44
 0682           ;   {                        /* 只需要32次以下的谐波进行分析 */
 0682                   .dbline 45
 0682           ; w[i]=sqrt(dataR[i]*dataR[i]+dataI[i]*dataI[i]);
 0682 82E0              ldi R24,2
 0684 0A8C              ldd R0,y+26
 0686 809D              mul R24,R0
 0688 1001              movw R2,R0
 068A F101              movw R30,R2
 068C 0FA0              ldd R0,y+39
 068E 18A4              ldd R1,y+40
 0690 E00D              add R30,R0
 0692 F11D              adc R31,R1
 0694 4080              ldd R4,z+0
 0696 5180              ldd R5,z+1
 0698 F101              movw R30,R2
 069A 09A4              ldd R0,y+41
 069C 1AA4              ldd R1,y+42
 069E E00D              add R30,R0
 06A0 F11D              adc R31,R1
 06A2 6080              ldd R6,z+0
 06A4 7180              ldd R7,z+1
 06A6 9301              movw R18,R6
 06A8 8301              movw R16,R6
 06AA 0E940000          xcall empy16s
 06AE 3801              movw R6,R16
 06B0 9201              movw R18,R4
 06B2 8201              movw R16,R4
 06B4 0E940000          xcall empy16s
 06B8 060D              add R16,R6
 06BA 171D              adc R17,R7
 06BC 0E940000          xcall int2fp
 06C0 2F92              push R2
 06C2 3F92              push R3
 06C4 0E940000          xcall _sqrt
 06C8 3F90              pop R3
 06CA 2F90              pop R2
 06CC 80E0              ldi R24,<_w
 06CE 90E0              ldi R25,>_w
 06D0 F101              movw R30,R2
 06D2 E80F              add R30,R24
 06D4 F91F              adc R31,R25
 06D6 0E940000          xcall fp2int
 06DA 1183              std z+1,R17
 06DC 0083              std z+0,R16
 06DE                   .dbline 46
 06DE           ;    if(!i)
 06DE 0A8C              ldd R0,y+26
 06E0 0020              tst R0
 06E2 89F4              brne L33
 06E4                   .dbline 47
 06E4           ;    {
 06E4                   .dbline 48
 06E4           ;     w[i]=w[i]/64;
 06E4 82E0              ldi R24,2
 06E6 809D              mul R24,R0
 06E8 1001              movw R2,R0
 06EA 80E0              ldi R24,<_w
 06EC 90E0              ldi R25,>_w
 06EE 280E              add R2,R24
 06F0 391E              adc R3,R25
 06F2 20E4              ldi R18,64
 06F4 30E0              ldi R19,0
 06F6 F101              movw R30,R2
 06F8 0081              ldd R16,z+0
 06FA 1181              ldd R17,z+1
 06FC 0E940000          xcall div16s
 0700 F101              movw R30,R2
 0702 1183              std z+1,R17
 0704 0083              std z+0,R16
 0706                   .dbline 49
 0706           ;    }
 0706           L33:
 0706                   .dbline 50
 0706           L30:
 0706                   .dbline 43
 0706 0A8C              ldd R0,y+26
 0708 0394              inc R0
 070A 0A8E              std y+26,R0
 070C           L32:
 070C                   .dbline 43
 070C 8A8D              ldd R24,y+26
 070E 8032              cpi R24,32
 0710 08F4              brsh X4
 0712 B7CF              xjmp L29
 0714           X4:
 0714                   .dbline 51
 0714           ;   }
 0714           ; w[0]=w[0]/2;
 0714 22E0              ldi R18,2
 0716 30E0              ldi R19,0
 0718 00910000          lds R16,_w
 071C 10910100          lds R17,_w+1
 0720 0E940000          xcall div16s
 0724 10930100          sts _w+1,R17
 0728 00930000          sts _w,R16
 072C                   .dbline -2
 072C           L1:
 072C 6D96              adiw R28,29
 072E 0E940000          xcall pop_gset5
 0732 2496              adiw R28,4
 0734                   .dbline 0 ; func end
 0734 0895              ret
 0736                   .dbsym l x6 22 I
 0736                   .dbsym l x5 20 I
 0736                   .dbsym l x4 18 I
 0736                   .dbsym l xx 16 I
 0736                   .dbsym l x3 14 I
 0736                   .dbsym l x2 12 I
 0736                   .dbsym r x1 12 I
 0736                   .dbsym r x0 10 I
 0736                   .dbsym l L 27 I
 0736                   .dbsym r j 14 I
 0736                   .dbsym l temp 8 D
 0736                   .dbsym l TI 4 D
 0736                   .dbsym l TR 0 D
 0736                   .dbsym l i 26 c
 0736                   .dbsym r p 10 I
 0736                   .dbsym l b 24 I
 0736                   .dbsym r k 12 I
 0736                   .dbsym l dataI 41 pI
 0736                   .dbsym l dataR 39 pI
 0736                   .dbend
 0736                   .dbfunc e main _main fV
                        .even
 0736           _main::
 0736                   .dbline -1
 0736                   .dbline 55
 0736           ; } /* END FFT */
 0736           ; 
 0736           ; void main ()
 0736           ;   {
 0736                   .dbline 56
 0736           ;     FFT(dataR,dataI);
 0736 20E0              ldi R18,<_dataI
 0738 30E0              ldi R19,>_dataI
 073A 00E0              ldi R16,<_dataR
 073C 10E0              ldi R17,>_dataR
 073E 60DC              xcall _FFT
 0740           L36:
 0740                   .dbline 57
 0740           L37:
 0740                   .dbline 57
 0740 FFCF              xjmp L36
 0742           X5:
 0742                   .dbline -2
 0742           L35:
 0742                   .dbline 0 ; func end
 0742 0895              ret
 0744                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\HJN\Design\AVR\fft\fffff.c
 0000           _w::
 0000                   .blkb 64
 0040                   .dbsym e w _w A[64:32]I
 0040           _dataI::
 0040                   .blkb 32
 0060                   .dbsym e dataI _dataI A[32:16]I
                        .area lit(rom, con, rel)
 0000           L28:
 0000 DA0FC93E          .word 0xfda,0x3ec9

⌨️ 快捷键说明

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