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

📄 fft2.lis

📁 在ICCAVR 环境实现的fft,
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0A40 3383              std z+3,R19
 0A42                   .dbline 76
 0A42           L38:
 0A42                   .dbline 72
 0A42 888D              ldd R24,y+24
 0A44 998D              ldd R25,y+25
 0A46 0196              adiw R24,1
 0A48 998F              std y+25,R25
 0A4A 888F              std y+24,R24
 0A4C           L40:
 0A4C                   .dbline 72
 0A4C 8CAD              ldd R24,y+60
 0A4E 9DAD              ldd R25,y+61
 0A50 0197              sbiw R24,1
 0A52 288C              ldd R2,y+24
 0A54 398C              ldd R3,y+25
 0A56 8215              cp R24,R2
 0A58 9305              cpc R25,R3
 0A5A 0CF0              brlt X10
 0A5C 96CF              xjmp L37
 0A5E           X10:
 0A5E           L35:
 0A5E                   .dbline 77
 0A5E           ; {
 0A5E           ; fr[i] = fr[i] / (1.0 * n);
 0A5E           ; fi[i] = fi[i] / (1.0 * n);
 0A5E           ; }
 0A5E           ; if(il != 0)
 0A5E FE01              movw R30,R28
 0A60 EA5B              subi R30,186  ; addi 70
 0A62 FF4F              sbci R31,255
 0A64 0080              ldd R0,z+0
 0A66 1180              ldd R1,z+1
 0A68 0020              tst R0
 0A6A 19F4              brne X2
 0A6C 1120              tst R1
 0A6E 09F4              brne X11
 0A70 47C1              xjmp L41
 0A72           X11:
 0A72           X2:
 0A72                   .dbline 78
 0A72           ; for(i = 0;i <= n - 1;i ++)
 0A72 2224              clr R2
 0A74 3324              clr R3
 0A76 398E              std y+25,R3
 0A78 288E              std y+24,R2
 0A7A 39C1              xjmp L46
 0A7C           L43:
 0A7C                   .dbline 79
 0A7C           ; {
 0A7C                   .dbline 80
 0A7C           ; pr[i] = sqrt(fr[i] * fr[i] + fi[i] * fi[i]);
 0A7C 288D              ldd R18,y+24
 0A7E 398D              ldd R19,y+25
 0A80 04E0              ldi R16,4
 0A82 10E0              ldi R17,0
 0A84 0E940000          xcall empy16s
 0A88 1801              movw R2,R16
 0A8A F101              movw R30,R2
 0A8C EE0D              add R30,R14
 0A8E FF1D              adc R31,R15
 0A90 4080              ldd R4,z+0
 0A92 5180              ldd R5,z+1
 0A94 6280              ldd R6,z+2
 0A96 7380              ldd R7,z+3
 0A98 FE01              movw R30,R28
 0A9A 46A2              std z+38,R4
 0A9C 57A2              std z+39,R5
 0A9E 60A6              std z+40,R6
 0AA0 71A6              std z+41,R7
 0AA2 F101              movw R30,R2
 0AA4 EC0D              add R30,R12
 0AA6 FD1D              adc R31,R13
 0AA8 4080              ldd R4,z+0
 0AAA 5180              ldd R5,z+1
 0AAC 6280              ldd R6,z+2
 0AAE 7380              ldd R7,z+3
 0AB0 FE01              movw R30,R28
 0AB2 42A6              std z+42,R4
 0AB4 53A6              std z+43,R5
 0AB6 64A6              std z+44,R6
 0AB8 75A6              std z+45,R7
 0ABA FE01              movw R30,R28
 0ABC 46A0              ldd R4,z+38
 0ABE 57A0              ldd R5,z+39
 0AC0 60A4              ldd R6,z+40
 0AC2 71A4              ldd R7,z+41
 0AC4 7A92              st -y,R7
 0AC6 6A92              st -y,R6
 0AC8 5A92              st -y,R5
 0ACA 4A92              st -y,R4
 0ACC FE01              movw R30,R28
 0ACE            ; stack offset 4
 0ACE 42A4              ldd R4,z+42
 0AD0 53A4              ldd R5,z+43
 0AD2 64A4              ldd R6,z+44
 0AD4 75A4              ldd R7,z+45
 0AD6 7A92              st -y,R7
 0AD8 6A92              st -y,R6
 0ADA 5A92              st -y,R5
 0ADC 4A92              st -y,R4
 0ADE 0E940000          xcall empy32fs
 0AE2 FE01              movw R30,R28
 0AE4            ; stack offset 4
 0AE4 46A4              ldd R4,z+46
 0AE6 57A4              ldd R5,z+47
 0AE8 60A8              ldd R6,z+48
 0AEA 71A8              ldd R7,z+49
 0AEC 7A92              st -y,R7
 0AEE 6A92              st -y,R6
 0AF0 5A92              st -y,R5
 0AF2 4A92              st -y,R4
 0AF4 FE01              movw R30,R28
 0AF6            ; stack offset 8
 0AF6 42A8              ldd R4,z+50
 0AF8 53A8              ldd R5,z+51
 0AFA 64A8              ldd R6,z+52
 0AFC 75A8              ldd R7,z+53
 0AFE 7A92              st -y,R7
 0B00 6A92              st -y,R6
 0B02 5A92              st -y,R5
 0B04 4A92              st -y,R4
 0B06 0E940000          xcall empy32fs
 0B0A 0E940000          xcall add32f
 0B0E 2F92              push R2
 0B10 3F92              push R3
 0B12 0E940000          xcall _sqrt
 0B16 3F90              pop R3
 0B18 2F90              pop R2
 0B1A 2801              movw R4,R16
 0B1C 3901              movw R6,R18
 0B1E F101              movw R30,R2
 0B20 08AC              ldd R0,y+56
 0B22 19AC              ldd R1,y+57
 0B24 E00D              add R30,R0
 0B26 F11D              adc R31,R1
 0B28 4082              std z+0,R4
 0B2A 5182              std z+1,R5
 0B2C 6282              std z+2,R6
 0B2E 7382              std z+3,R7
 0B30                   .dbline 81
 0B30           ; if(fabs(fr[i]) < 0.000001 * fabs(fi[i]))
 0B30 288D              ldd R18,y+24
 0B32 398D              ldd R19,y+25
 0B34 04E0              ldi R16,4
 0B36 10E0              ldi R17,0
 0B38 0E940000          xcall empy16s
 0B3C F801              movw R30,R16
 0B3E EE0D              add R30,R14
 0B40 FF1D              adc R31,R15
 0B42 0081              ldd R16,z+0
 0B44 1181              ldd R17,z+1
 0B46 2281              ldd R18,z+2
 0B48 3381              ldd R19,z+3
 0B4A 0E940000          xcall _fabs
 0B4E 1801              movw R2,R16
 0B50 2901              movw R4,R18
 0B52 288D              ldd R18,y+24
 0B54 398D              ldd R19,y+25
 0B56 04E0              ldi R16,4
 0B58 10E0              ldi R17,0
 0B5A 0E940000          xcall empy16s
 0B5E F801              movw R30,R16
 0B60 EC0D              add R30,R12
 0B62 FD1D              adc R31,R13
 0B64 0081              ldd R16,z+0
 0B66 1181              ldd R17,z+1
 0B68 2281              ldd R18,z+2
 0B6A 3381              ldd R19,z+3
 0B6C 2F92              push R2
 0B6E 3F92              push R3
 0B70 4F92              push R4
 0B72 5F92              push R5
 0B74 0E940000          xcall _fabs
 0B78 5F90              pop R5
 0B7A 4F90              pop R4
 0B7C 3F90              pop R3
 0B7E 2F90              pop R2
 0B80 3801              movw R6,R16
 0B82 4901              movw R8,R18
 0B84 5A92              st -y,R5
 0B86 4A92              st -y,R4
 0B88 3A92              st -y,R3
 0B8A 2A92              st -y,R2
 0B8C 00E0              ldi R16,<L49
 0B8E 10E0              ldi R17,>L49
 0B90 0E940000          xcall lpm32
 0B94 3A93              st -y,R19
 0B96 2A93              st -y,R18
 0B98 1A93              st -y,R17
 0B9A 0A93              st -y,R16
 0B9C 9A92              st -y,R9
 0B9E 8A92              st -y,R8
 0BA0 7A92              st -y,R7
 0BA2 6A92              st -y,R6
 0BA4 0E940000          xcall empy32fs
 0BA8 0E940000          xcall cmp32f
 0BAC 0CF0              brlt X12
 0BAE 52C0              xjmp L47
 0BB0           X12:
 0BB0                   .dbline 82
 0BB0           ; {
 0BB0                   .dbline 83
 0BB0           ; if((fi[i] * fr[i]) > 0)
 0BB0 288D              ldd R18,y+24
 0BB2 398D              ldd R19,y+25
 0BB4 04E0              ldi R16,4
 0BB6 10E0              ldi R17,0
 0BB8 0E940000          xcall empy16s
 0BBC 1801              movw R2,R16
 0BBE 00E0              ldi R16,<L11
 0BC0 10E0              ldi R17,>L11
 0BC2 0E940000          xcall lpm32
 0BC6 3A93              st -y,R19
 0BC8 2A93              st -y,R18
 0BCA 1A93              st -y,R17
 0BCC 0A93              st -y,R16
 0BCE F101              movw R30,R2
 0BD0 EC0D              add R30,R12
 0BD2 FD1D              adc R31,R13
 0BD4 4080              ldd R4,z+0
 0BD6 5180              ldd R5,z+1
 0BD8 6280              ldd R6,z+2
 0BDA 7380              ldd R7,z+3
 0BDC 7A92              st -y,R7
 0BDE 6A92              st -y,R6
 0BE0 5A92              st -y,R5
 0BE2 4A92              st -y,R4
 0BE4 F101              movw R30,R2
 0BE6 EE0D              add R30,R14
 0BE8 FF1D              adc R31,R15
 0BEA 2080              ldd R2,z+0
 0BEC 3180              ldd R3,z+1
 0BEE 4280              ldd R4,z+2
 0BF0 5380              ldd R5,z+3
 0BF2 5A92              st -y,R5
 0BF4 4A92              st -y,R4
 0BF6 3A92              st -y,R3
 0BF8 2A92              st -y,R2
 0BFA 0E940000          xcall empy32fs
 0BFE 0E940000          xcall cmp32f
 0C02 A4F4              brge L50
 0C04                   .dbline 84
 0C04           ; pi[i] = 90.0;
 0C04 288D              ldd R18,y+24
 0C06 398D              ldd R19,y+25
 0C08 04E0              ldi R16,4
 0C0A 10E0              ldi R17,0
 0C0C 0E940000          xcall empy16s
 0C10 F801              movw R30,R16
 0C12 0AAC              ldd R0,y+58
 0C14 1BAC              ldd R1,y+59
 0C16 E00D              add R30,R0
 0C18 F11D              adc R31,R1
 0C1A 00E0              ldi R16,<L52
 0C1C 10E0              ldi R17,>L52
 0C1E 0E940000          xcall lpm32
 0C22 0083              std z+0,R16
 0C24 1183              std z+1,R17
 0C26 2283              std z+2,R18
 0C28 3383              std z+3,R19
 0C2A 5CC0              xjmp L48
 0C2C           L50:
 0C2C                   .dbline 86
 0C2C           ; else
 0C2C           ; pi[i] = -90.0;
 0C2C 288D              ldd R18,y+24
 0C2E 398D              ldd R19,y+25
 0C30 04E0              ldi R16,4
 0C32 10E0              ldi R17,0
 0C34 0E940000          xcall empy16s
 0C38 F801              movw R30,R16
 0C3A 0AAC              ldd R0,y+58
 0C3C 1BAC              ldd R1,y+59
 0C3E E00D              add R30,R0
 0C40 F11D              adc R31,R1
 0C42 00E0              ldi R16,<L53
 0C44 10E0              ldi R17,>L53
 0C46 0E940000          xcall lpm32
 0C4A 0083              std z+0,R16
 0C4C 1183              std z+1,R17
 0C4E 2283              std z+2,R18
 0C50 3383              std z+3,R19
 0C52                   .dbline 87
 0C52           ; }
 0C52 48C0              xjmp L48
 0C54           L47:
 0C54                   .dbline 89
 0C54           ; else
 0C54           ; pi[i] = atan(fi[i] / fr[i]) * 360.0 / 6.283185306;
 0C54 288D              ldd R18,y+24
 0C56 398D              ldd R19,y+25
 0C58 04E0              ldi R16,4
 0C5A 10E0              ldi R17,0
 0C5C 0E940000          xcall empy16s
 0C60 1801              movw R2,R16
 0C62 F101              movw R30,R2
 0C64 EC0D              add R30,R12
 0C66 FD1D              adc R31,R13
 0C68 4080              ldd R4,z+0
 0C6A 5180              ldd R5,z+1
 0C6C 6280              ldd R6,z+2
 0C6E 7380              ldd R7,z+3
 0C70 7A92              st -y,R7
 0C72 6A92              st -y,R6
 0C74 5A92              st -y,R5
 0C76 4A92              st -y,R4
 0C78 F101              movw R30,R2
 0C7A EE0D              add R30,R14
 0C7C FF1D              adc R31,R15
 0C7E 4080              ldd R4,z+0
 0C80 5180              ldd R5,z+1
 0C82 6280              ldd R6,z+2
 0C84 7380              ldd R7,z+3
 0C86 7A92              st -y,R7
 0C88 6A92              st -y,R6
 0C8A 5A92              st -y,R5
 0C8C 4A92              st -y,R4
 0C8E 0E940000          xcall div32f
 0C92 2F92              push R2
 0C94 3F92              push R3
 0C96 0E940000          xcall _atan
 0C9A 3F90              pop R3
 0C9C 2F90              pop R2
 0C9E 2801              movw R4,R16
 0CA0 3901              movw R6,R18
 0CA2 00E0              ldi R16,<L54
 0CA4 10E0              ldi R17,>L54
 0CA6 0E940000          xcall lpm32
 0CAA 3A93              st -y,R19
 0CAC 2A93              st -y,R18
 0CAE 1A93              st -y,R17
 0CB0 0A93              st -y,R16
 0CB2 7A92              st -y,R7
 0CB4 6A92              st -y,R6
 0CB6 5A92              st -y,R5
 0CB8 4A92              st -y,R4
 0CBA 0E940000          xcall empy32fs
 0CBE 00E0              ldi R16,<L12
 0CC0 10E0              ldi R17,>L12
 0CC2 0E940000          xcall lpm32
 0CC6 3A93              st -y,R19
 0CC8 2A93              st -y,R18
 0CCA 1A93              st -y,R17
 0CCC 0A93              st -y,R16
 0CCE 0E940000          xcall div32f
 0CD2 F101              movw R30,R2
 0CD4 0AAC              ldd R0,y+58
 0CD6 1BAC              ldd R1,y+59
 0CD8 E00D              add R30,R0
 0CDA F11D              adc R31,R1
 0CDC 0083              std z+0,R16
 0CDE 1183              std z+1,R17
 0CE0 2283              std z+2,R18
 0CE2 3383              std z+3,R19
 0CE4           L48:
 0CE4                   .dbline 90
 0CE4           L44:
 0CE4                   .dbline 78
 0CE4 888D              ldd R24,y+24
 0CE6 998D              ldd R25,y+25

⌨️ 快捷键说明

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