?? fffff.lis
字號:
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 + -