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

📄 fft.lis

📁 在ICCAVR 环境实现的fft,
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0280 46A2              std z+38,R4
 0282 57A2              std z+39,R5
 0284 21C0              xjmp L9
 0286           L8:
 0286                   .dbline 23
 0286                   .dbline 24
 0286 FE01              movw R30,R28
 0288 24A0              ldd R2,z+36
 028A 35A0              ldd R3,z+37
 028C 46A0              ldd R4,z+38
 028E 57A0              ldd R5,z+39
 0290 FE01              movw R30,R28
 0292 6080              ldd R6,z+0
 0294 7180              ldd R7,z+1
 0296 8280              ldd R8,z+2
 0298 9380              ldd R9,z+3
 029A 6218              sub R6,R2
 029C 7308              sbc R7,R3
 029E 8408              sbc R8,R4
 02A0 9508              sbc R9,R5
 02A2 FE01              movw R30,R28
 02A4 6082              std z+0,R6
 02A6 7182              std z+1,R7
 02A8 8282              std z+2,R8
 02AA 9382              std z+3,R9
 02AC                   .dbline 25
 02AC FE01              movw R30,R28
 02AE 24A0              ldd R2,z+36
 02B0 35A0              ldd R3,z+37
 02B2 46A0              ldd R4,z+38
 02B4 57A0              ldd R5,z+39
 02B6 5694              lsr R5
 02B8 4794              ror R4
 02BA 3794              ror R3
 02BC 2794              ror R2
 02BE FE01              movw R30,R28
 02C0 24A2              std z+36,R2
 02C2 35A2              std z+37,R3
 02C4 46A2              std z+38,R4
 02C6 57A2              std z+39,R5
 02C8                   .dbline 26
 02C8           L9:
 02C8                   .dbline 22
 02C8           ;     while (m >= 2 && j > m) 
 02C8 42E0              ldi R20,2
 02CA 50E0              ldi R21,0
 02CC 60E0              ldi R22,0
 02CE 70E0              ldi R23,0
 02D0 FE01              movw R30,R28
 02D2 24A0              ldd R2,z+36
 02D4 35A0              ldd R3,z+37
 02D6 46A0              ldd R4,z+38
 02D8 57A0              ldd R5,z+39
 02DA 2416              cp R2,R20
 02DC 3506              cpc R3,R21
 02DE 4606              cpc R4,R22
 02E0 5706              cpc R5,R23
 02E2 80F0              brlo L11
 02E4 FE01              movw R30,R28
 02E6 24A0              ldd R2,z+36
 02E8 35A0              ldd R3,z+37
 02EA 46A0              ldd R4,z+38
 02EC 57A0              ldd R5,z+39
 02EE FE01              movw R30,R28
 02F0 6080              ldd R6,z+0
 02F2 7180              ldd R7,z+1
 02F4 8280              ldd R8,z+2
 02F6 9380              ldd R9,z+3
 02F8 2614              cp R2,R6
 02FA 3704              cpc R3,R7
 02FC 4804              cpc R4,R8
 02FE 5904              cpc R5,R9
 0300 08F4              brsh X1
 0302 C1CF              xjmp L8
 0304           X1:
 0304           L11:
 0304                   .dbline 27
 0304 FE01              movw R30,R28
 0306 24A0              ldd R2,z+36
 0308 35A0              ldd R3,z+37
 030A 46A0              ldd R4,z+38
 030C 57A0              ldd R5,z+39
 030E FE01              movw R30,R28
 0310 6080              ldd R6,z+0
 0312 7180              ldd R7,z+1
 0314 8280              ldd R8,z+2
 0316 9380              ldd R9,z+3
 0318 620C              add R6,R2
 031A 731C              adc R7,R3
 031C 841C              adc R8,R4
 031E 951C              adc R9,R5
 0320 FE01              movw R30,R28
 0322 6082              std z+0,R6
 0324 7182              std z+1,R7
 0326 8282              std z+2,R8
 0328 9382              std z+3,R9
 032A                   .dbline 28
 032A           L3:
 032A                   .dbline 16
 032A 42E0              ldi R20,2
 032C 50E0              ldi R21,0
 032E 60E0              ldi R22,0
 0330 70E0              ldi R23,0
 0332 FE01              movw R30,R28
 0334 2480              ldd R2,z+4
 0336 3580              ldd R3,z+5
 0338 4680              ldd R4,z+6
 033A 5780              ldd R5,z+7
 033C 240E              add R2,R20
 033E 351E              adc R3,R21
 0340 461E              adc R4,R22
 0342 571E              adc R5,R23
 0344 FE01              movw R30,R28
 0346 2482              std z+4,R2
 0348 3582              std z+5,R3
 034A 4682              std z+6,R4
 034C 5782              std z+7,R5
 034E           L5:
 034E                   .dbline 16
 034E FE01              movw R30,R28
 0350 248C              ldd R2,z+28
 0352 358C              ldd R3,z+29
 0354 468C              ldd R4,z+30
 0356 578C              ldd R5,z+31
 0358 FE01              movw R30,R28
 035A 6480              ldd R6,z+4
 035C 7580              ldd R7,z+5
 035E 8680              ldd R8,z+6
 0360 9780              ldd R9,z+7
 0362 6214              cp R6,R2
 0364 7304              cpc R7,R3
 0366 8404              cpc R8,R4
 0368 9504              cpc R9,R5
 036A 08F4              brsh X2
 036C 77CE              xjmp L2
 036E           X2:
 036E                   .dbline 29
 036E           ;       {
 036E           ;       j -= m;
 036E           ;       m >>= 1;            //将m除以2的值赋给m
 036E           ;     }
 036E           ;     j += m;
 036E           ;   }
 036E           ;   mmax=2;
 036E 42E0              ldi R20,2
 0370 50E0              ldi R21,0
 0372 60E0              ldi R22,0
 0374 70E0              ldi R23,0
 0376 FE01              movw R30,R28
 0378 408F              std z+24,R20
 037A 518F              std z+25,R21
 037C 628F              std z+26,R22
 037E 738F              std z+27,R23
 0380 52C3              xjmp L13
 0382           L12:
 0382                   .dbline 30
 0382           ;   while (n > mmax) {
 0382                   .dbline 31
 0382           ;     istep=mmax << 1;
 0382 FE01              movw R30,R28
 0384 208C              ldd R2,z+24
 0386 318C              ldd R3,z+25
 0388 428C              ldd R4,z+26
 038A 538C              ldd R5,z+27
 038C 220C              lsl R2
 038E 331C              rol R3
 0390 441C              rol R4
 0392 551C              rol R5
 0394 FE01              movw R30,R28
 0396 20A2              std z+32,R2
 0398 31A2              std z+33,R3
 039A 42A2              std z+34,R4
 039C 53A2              std z+35,R5
 039E                   .dbline 32
 039E           ;     theta=isign*(6.28318530717959/mmax);
 039E 8501              movw R16,R10
 03A0 0E940000          xcall int2fp
 03A4 3A93              st -y,R19
 03A6 2A93              st -y,R18
 03A8 1A93              st -y,R17
 03AA 0A93              st -y,R16
 03AC 00E0              ldi R16,<L15
 03AE 10E0              ldi R17,>L15
 03B0 0E940000          xcall lpm32
 03B4 3A93              st -y,R19
 03B6 2A93              st -y,R18
 03B8 1A93              st -y,R17
 03BA 0A93              st -y,R16
 03BC 00E0              ldi R16,<L16
 03BE 10E0              ldi R17,>L16
 03C0 0E940000          xcall lpm32
 03C4 3A93              st -y,R19
 03C6 2A93              st -y,R18
 03C8 1A93              st -y,R17
 03CA 0A93              st -y,R16
 03CC FE01              movw R30,R28
 03CE            ; stack offset 12
 03CE 24A0              ldd R2,z+36
 03D0 35A0              ldd R3,z+37
 03D2 46A0              ldd R4,z+38
 03D4 57A0              ldd R5,z+39
 03D6 5694              lsr R5
 03D8 4794              ror R4
 03DA 3794              ror R3
 03DC 2794              ror R2
 03DE 8101              movw R16,R2
 03E0 9201              movw R18,R4
 03E2 0E940000          xcall long2fp
 03E6 3A93              st -y,R19
 03E8 2A93              st -y,R18
 03EA 1A93              st -y,R17
 03EC 0A93              st -y,R16
 03EE 0E940000          xcall empy32fs
 03F2 41E0              ldi R20,1
 03F4 50E0              ldi R21,0
 03F6 60E0              ldi R22,0
 03F8 70E0              ldi R23,0
 03FA FE01              movw R30,R28
 03FC            ; stack offset 12
 03FC 24A0              ldd R2,z+36
 03FE 35A0              ldd R3,z+37
 0400 46A0              ldd R4,z+38
 0402 57A0              ldd R5,z+39
 0404 2422              and R2,R20
 0406 3522              and R3,R21
 0408 4622              and R4,R22
 040A 5722              and R5,R23
 040C 8101              movw R16,R2
 040E 9201              movw R18,R4
 0410 0E940000          xcall long2fp
 0414 3A93              st -y,R19
 0416 2A93              st -y,R18
 0418 1A93              st -y,R17
 041A 0A93              st -y,R16
 041C 0E940000          xcall add32fs
 0420 0E940000          xcall div32fs
 0424 0E940000          xcall empy32f
 0428 FE01              movw R30,R28
 042A 04AB              std z+52,R16
 042C 15AB              std z+53,R17
 042E 26AB              std z+54,R18
 0430 37AB              std z+55,R19
 0432                   .dbline 33
 0432           ;     wtemp=sin(0.5*theta);
 0432 00E0              ldi R16,<L17
 0434 10E0              ldi R17,>L17
 0436 0E940000          xcall lpm32
 043A 3A93              st -y,R19
 043C 2A93              st -y,R18
 043E 1A93              st -y,R17
 0440 0A93              st -y,R16
 0442 FE01              movw R30,R28
 0444            ; stack offset 4
 0444 20AC              ldd R2,z+56
 0446 31AC              ldd R3,z+57
 0448 42AC              ldd R4,z+58
 044A 53AC              ldd R5,z+59
 044C 5A92              st -y,R5
 044E 4A92              st -y,R4
 0450 3A92              st -y,R3
 0452 2A92              st -y,R2
 0454 0E940000          xcall empy32f
 0458 0E940000          xcall _sin
 045C FE01              movw R30,R28
 045E 00A7              std z+40,R16
 0460 11A7              std z+41,R17
 0462 22A7              std z+42,R18
 0464 33A7              std z+43,R19
 0466                   .dbline 34
 0466           ;     wpr = -2.0*wtemp*wtemp;
 0466 00E0              ldi R16,<L18
 0468 10E0              ldi R17,>L18
 046A 0E940000          xcall lpm32
 046E 3A93              st -y,R19
 0470 2A93              st -y,R18
 0472 1A93              st -y,R17
 0474 0A93              st -y,R16
 0476 FE01              movw R30,R28
 0478            ; stack offset 4
 0478 24A4              ldd R2,z+44
 047A 35A4              ldd R3,z+45
 047C 46A4              ldd R4,z+46
 047E 57A4              ldd R5,z+47
 0480 5A92              st -y,R5
 0482 4A92              st -y,R4
 0484 3A92              st -y,R3
 0486 2A92              st -y,R2
 0488 0E940000          xcall empy32fs
 048C FE01              movw R30,R28
 048E            ; stack offset 4
 048E 24A4              ldd R2,z+44
 0490 35A4              ldd R3,z+45
 0492 46A4              ldd R4,z+46
 0494 57A4              ldd R5,z+47
 0496 5A92              st -y,R5
 0498 4A92              st -y,R4
 049A 3A92              st -y,R3
 049C 2A92              st -y,R2
 049E 0E940000          xcall empy32f
 04A2 FE01              movw R30,R28
 04A4 04A7              std z+44,R16
 04A6 15A7              std z+45,R17
 04A8 26A7              std z+46,R18
 04AA 37A7              std z+47,R19
 04AC                   .dbline 35
 04AC           ;     wpi=sin(theta);
 04AC FE01              movw R30,R28
 04AE 04A9              ldd R16,z+52
 04B0 15A9              ldd R17,z+53
 04B2 26A9              ldd R18,z+54
 04B4 37A9              ldd R19,z+55
 04B6 0E940000          xcall _sin
 04BA FE01              movw R30,R28
 04BC 00AB              std z+48,R16
 04BE 11AB              std z+49,R17
 04C0 22AB              std z+50,R18
 04C2 33AB              std z+51,R19
 04C4                   .dbline 36
 04C4           ;     wr=1.0;
 04C4 00E0              ldi R16,<L19
 04C6 10E0              ldi R17,>L19
 04C8 0E940000          xcall lpm32
 04CC FE01              movw R30,R28
 04CE 048B              std z+20,R16
 04D0 158B              std z+21,R17
 04D2 268B              std z+22,R18
 04D4 378B              std z+23,R19
 04D6                   .dbline 37
 04D6           ;     wi=0.0;
 04D6 00E0              ldi R16,<L20
 04D8 10E0              ldi R17,>L20
 04DA 0E940000          xcall lpm32
 04DE FE01              movw R30,R28
 04E0 008B              std z+16,R16
 04E2 118B              std z+17,R17
 04E4 228B              std z+18,R18
 04E6 338B              std z+19,R19
 04E8                   .dbline 38
 04E8 41E0              ldi R20,1
 04EA 50E0              ldi R21,0
 04EC 60E0              ldi R22,0
 04EE 70E0              ldi R23,0
 04F0 FE01              movw R30,R28
 04F2 44A3              std z+36,R20
 04F4 55A3              std z+37,R21
 04F6 66A3              std z+38,R22
 04F8 77A3              std z+39,R23
 04FA 7BC2              xjmp L24
 04FC           L21:
 04FC                   .dbline 38
 04FC           ;     for (m=1;m<mmax;m+=2) {
 04FC                   .dbline 39
 04FC FE01              movw R30,R28
 04FE 24A0              ldd R2,z+36
 0500 35A0              ldd R3,z+37
 0502 46A0              ldd R4,z+38
 0504 57A0              ldd R5,z+39
 0506 FE01              movw R30,R28
 0508 2482              std z+4,R2
 050A 3582              std z+5,R3
 050C 4682              std z+6,R4
 050E 5782              std z+7,R5
 0510 D0C1              xjmp L28
 0512           L25:
 0512                   .dbline 39
 0512                   .dbline 40
 0512 FE01              movw R30,R28
 0514 208C              ldd R2,z+24
 0516 318C              ldd R3,z+25
 0518 428C              ldd R4,z+26
 051A 538C              ldd R5,z+27
 051C FE01              movw R30,R28
 051E 6480              ldd R6,z+4
 0520 7580              ldd R7,z+5

⌨️ 快捷键说明

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