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

📄 fft1.lst

📁 在ICCAVR 环境实现的fft,
💻 LST
📖 第 1 页 / 共 5 页
字号:
    03BC E022      LDI	R18,2
    03BD E030      LDI	R19,0
    03BE 810C      LDD	R16,Y+4
    03BF 811D      LDD	R17,Y+5
    03C0 940E072E  CALL	div16s
    03C2 019A      MOVW	R18,R20
    03C3 0D2A      ADD	R18,R10
    03C4 1D3B      ADC	R19,R11
    03C5 0F20      ADD	R18,R16
    03C6 1F31      ADC	R19,R17
    03C7 E004      LDI	R16,4
    03C8 E010      LDI	R17,0
    03C9 940E0764  CALL	empy16s
    03CB 01F8      MOVW	R30,R16
    03CC 0DEC      ADD	R30,R12
    03CD 1DFD      ADC	R31,R13
    03CE 8020      LDD	R2,Z+0
    03CF 8031      LDD	R3,Z+1
    03D0 8042      LDD	R4,Z+2
    03D1 8053      LDD	R5,Z+3
    03D2 925A      ST	R5,-Y
    03D3 924A      ST	R4,-Y
    03D4 923A      ST	R3,-Y
    03D5 922A      ST	R2,-Y
    03D6 940E099B  CALL	empy32f
    03D8 01FE      MOVW	R30,R28
    03D9 8704      STD	Z+12,R16
    03DA 8715      STD	Z+13,R17
    03DB 8726      STD	Z+14,R18
    03DC 8737      STD	Z+15,R19
(0061) s = pr[m * j] + pi[m * j];
    03DD 810A      LDD	R16,Y+2
    03DE 811B      LDD	R17,Y+3
    03DF 0195      MOVW	R18,R10
    03E0 940E0764  CALL	empy16s
    03E2 0198      MOVW	R18,R16
    03E3 E004      LDI	R16,4
    03E4 E010      LDI	R17,0
    03E5 940E0764  CALL	empy16s
    03E7 0118      MOVW	R2,R16
    03E8 01F1      MOVW	R30,R2
    03E9 AC08      LDD	R0,Y+56
    03EA AC19      LDD	R1,Y+57
    03EB 0DE0      ADD	R30,R0
    03EC 1DF1      ADC	R31,R1
    03ED 8040      LDD	R4,Z+0
    03EE 8051      LDD	R5,Z+1
    03EF 8062      LDD	R6,Z+2
    03F0 8073      LDD	R7,Z+3
    03F1 927A      ST	R7,-Y
    03F2 926A      ST	R6,-Y
    03F3 925A      ST	R5,-Y
    03F4 924A      ST	R4,-Y
    03F5 01F1      MOVW	R30,R2
    03F6 AC0E      LDD	R0,Y+62
    03F7 AC1F      LDD	R1,Y+63
    03F8 0DE0      ADD	R30,R0
    03F9 1DF1      ADC	R31,R1
    03FA 8020      LDD	R2,Z+0
    03FB 8031      LDD	R3,Z+1
    03FC 8042      LDD	R4,Z+2
    03FD 8053      LDD	R5,Z+3
    03FE 925A      ST	R5,-Y
    03FF 924A      ST	R4,-Y
    0400 923A      ST	R3,-Y
    0401 922A      ST	R2,-Y
    0402 940E086C  CALL	add32f
    0404 01FE      MOVW	R30,R28
    0405 8304      STD	Z+4,R16
    0406 8315      STD	Z+5,R17
    0407 8326      STD	Z+6,R18
    0408 8337      STD	Z+7,R19
(0062) s = s * (fr[it + j + nv / 2] + fi[it + j + nv / 2]);
    0409 E022      LDI	R18,2
    040A E030      LDI	R19,0
    040B 8108      LDD	R16,Y+0
    040C 8119      LDD	R17,Y+1
    040D 940E072E  CALL	div16s
    040F 019A      MOVW	R18,R20
    0410 0D2A      ADD	R18,R10
    0411 1D3B      ADC	R19,R11
    0412 0F20      ADD	R18,R16
    0413 1F31      ADC	R19,R17
    0414 E004      LDI	R16,4
    0415 E010      LDI	R17,0
    0416 940E0764  CALL	empy16s
    0418 01FE      MOVW	R30,R28
    0419 8024      LDD	R2,Z+4
    041A 8035      LDD	R3,Z+5
    041B 8046      LDD	R4,Z+6
    041C 8057      LDD	R5,Z+7
    041D 925A      ST	R5,-Y
    041E 924A      ST	R4,-Y
    041F 923A      ST	R3,-Y
    0420 922A      ST	R2,-Y
    0421 01F8      MOVW	R30,R16
    0422 0DEE      ADD	R30,R14
    0423 1DFF      ADC	R31,R15
    0424 8020      LDD	R2,Z+0
    0425 8031      LDD	R3,Z+1
    0426 8042      LDD	R4,Z+2
    0427 8053      LDD	R5,Z+3
    0428 925A      ST	R5,-Y
    0429 924A      ST	R4,-Y
    042A 923A      ST	R3,-Y
    042B 922A      ST	R2,-Y
    042C 01F8      MOVW	R30,R16
    042D 0DEC      ADD	R30,R12
    042E 1DFD      ADC	R31,R13
    042F 8020      LDD	R2,Z+0
    0430 8031      LDD	R3,Z+1
    0431 8042      LDD	R4,Z+2
    0432 8053      LDD	R5,Z+3
    0433 925A      ST	R5,-Y
    0434 924A      ST	R4,-Y
    0435 923A      ST	R3,-Y
    0436 922A      ST	R2,-Y
    0437 940E0869  CALL	add32fs
    0439 940E099B  CALL	empy32f
    043B 01FE      MOVW	R30,R28
    043C 8304      STD	Z+4,R16
    043D 8315      STD	Z+5,R17
    043E 8326      STD	Z+6,R18
    043F 8337      STD	Z+7,R19
(0063) poddr = p - q;
    0440 01FE      MOVW	R30,R28
    0441 8420      LDD	R2,Z+8
    0442 8431      LDD	R3,Z+9
    0443 8442      LDD	R4,Z+10
    0444 8453      LDD	R5,Z+11
    0445 925A      ST	R5,-Y
    0446 924A      ST	R4,-Y
    0447 923A      ST	R3,-Y
    0448 922A      ST	R2,-Y
    0449 01FE      MOVW	R30,R28
    044A 8820      LDD	R2,Z+16
    044B 8831      LDD	R3,Z+17
    044C 8842      LDD	R4,Z+18
    044D 8853      LDD	R5,Z+19
    044E 925A      ST	R5,-Y
    044F 924A      ST	R4,-Y
    0450 923A      ST	R3,-Y
    0451 922A      ST	R2,-Y
    0452 940E0874  CALL	sub32f
    0454 01FE      MOVW	R30,R28
    0455 8B00      STD	Z+16,R16
    0456 8B11      STD	Z+17,R17
    0457 8B22      STD	Z+18,R18
    0458 8B33      STD	Z+19,R19
(0064) poddi = s - p - q;
    0459 01FE      MOVW	R30,R28
    045A 8024      LDD	R2,Z+4
    045B 8035      LDD	R3,Z+5
    045C 8046      LDD	R4,Z+6
    045D 8057      LDD	R5,Z+7
    045E 925A      ST	R5,-Y
    045F 924A      ST	R4,-Y
    0460 923A      ST	R3,-Y
    0461 922A      ST	R2,-Y
    0462 01FE      MOVW	R30,R28
    0463 8424      LDD	R2,Z+12
    0464 8435      LDD	R3,Z+13
    0465 8446      LDD	R4,Z+14
    0466 8457      LDD	R5,Z+15
    0467 925A      ST	R5,-Y
    0468 924A      ST	R4,-Y
    0469 923A      ST	R3,-Y
    046A 922A      ST	R2,-Y
    046B 940E0871  CALL	sub32fs
    046D 01FE      MOVW	R30,R28
    046E 8820      LDD	R2,Z+16
    046F 8831      LDD	R3,Z+17
    0470 8842      LDD	R4,Z+18
    0471 8853      LDD	R5,Z+19
    0472 925A      ST	R5,-Y
    0473 924A      ST	R4,-Y
    0474 923A      ST	R3,-Y
    0475 922A      ST	R2,-Y
    0476 940E0874  CALL	sub32f
    0478 01FE      MOVW	R30,R28
    0479 8B04      STD	Z+20,R16
    047A 8B15      STD	Z+21,R17
    047B 8B26      STD	Z+22,R18
    047C 8B37      STD	Z+23,R19
(0065) fr[it + j + nv / 2] = fr[it + j] - poddr;
    047D 011A      MOVW	R2,R20
    047E 0C2A      ADD	R2,R10
    047F 1C3B      ADC	R3,R11
    0480 E022      LDI	R18,2
    0481 E030      LDI	R19,0
    0482 8108      LDD	R16,Y+0
    0483 8119      LDD	R17,Y+1
    0484 940E072E  CALL	div16s
    0486 0191      MOVW	R18,R2
    0487 0F20      ADD	R18,R16
    0488 1F31      ADC	R19,R17
    0489 E004      LDI	R16,4
    048A E010      LDI	R17,0
    048B 940E0764  CALL	empy16s
    048D 01F8      MOVW	R30,R16
    048E 0DEE      ADD	R30,R14
    048F 1DFF      ADC	R31,R15
    0490 E004      LDI	R16,4
    0491 E010      LDI	R17,0
    0492 0191      MOVW	R18,R2
    0493 940E0764  CALL	empy16s
    0495 01D8      MOVW	R26,R16
    0496 0DAE      ADD	R26,R14
    0497 1DBF      ADC	R27,R15
    0498 902D      LD	R2,X+
    0499 903D      LD	R3,X+
    049A 904D      LD	R4,X+
    049B 905C      LD	R5,0(X)
    049C 925A      ST	R5,-Y
    049D 924A      ST	R4,-Y
    049E 923A      ST	R3,-Y
    049F 922A      ST	R2,-Y
    04A0 01DE      MOVW	R26,R28
    04A1 9654      ADIW	R26,0x14
    04A2 902D      LD	R2,X+
    04A3 903D      LD	R3,X+
    04A4 904D      LD	R4,X+
    04A5 905C      LD	R5,0(X)
    04A6 925A      ST	R5,-Y
    04A7 924A      ST	R4,-Y
    04A8 923A      ST	R3,-Y
    04A9 922A      ST	R2,-Y
    04AA 940E0874  CALL	sub32f
    04AC 8300      STD	Z+0,R16
    04AD 8311      STD	Z+1,R17
    04AE 8322      STD	Z+2,R18
    04AF 8333      STD	Z+3,R19
(0066) fi[it + j + nv / 2] = fi[it + j] - poddi;
    04B0 011A      MOVW	R2,R20
    04B1 0C2A      ADD	R2,R10
    04B2 1C3B      ADC	R3,R11
    04B3 E022      LDI	R18,2
    04B4 E030      LDI	R19,0
    04B5 8108      LDD	R16,Y+0
    04B6 8119      LDD	R17,Y+1
    04B7 940E072E  CALL	div16s
    04B9 0191      MOVW	R18,R2
    04BA 0F20      ADD	R18,R16
    04BB 1F31      ADC	R19,R17
    04BC E004      LDI	R16,4
    04BD E010      LDI	R17,0
    04BE 940E0764  CALL	empy16s
    04C0 01F8      MOVW	R30,R16
    04C1 0DEC      ADD	R30,R12
    04C2 1DFD      ADC	R31,R13
    04C3 E004      LDI	R16,4
    04C4 E010      LDI	R17,0
    04C5 0191      MOVW	R18,R2
    04C6 940E0764  CALL	empy16s
    04C8 01D8      MOVW	R26,R16
    04C9 0DAC      ADD	R26,R12
    04CA 1DBD      ADC	R27,R13
    04CB 902D      LD	R2,X+
    04CC 903D      LD	R3,X+
    04CD 904D      LD	R4,X+
    04CE 905C      LD	R5,0(X)
    04CF 925A      ST	R5,-Y
    04D0 924A      ST	R4,-Y
    04D1 923A      ST	R3,-Y
    04D2 922A      ST	R2,-Y
    04D3 01DE      MOVW	R26,R28
    04D4 9658      ADIW	R26,0x18
    04D5 902D      LD	R2,X+
    04D6 903D      LD	R3,X+
    04D7 904D      LD	R4,X+
    04D8 905C      LD	R5,0(X)
    04D9 925A      ST	R5,-Y
    04DA 924A      ST	R4,-Y
    04DB 923A      ST	R3,-Y
    04DC 922A      ST	R2,-Y
    04DD 940E0874  CALL	sub32f
    04DF 8300      STD	Z+0,R16
    04E0 8311      STD	Z+1,R17
    04E1 8322      STD	Z+2,R18
    04E2 8333      STD	Z+3,R19
(0067) fr[it + j] = fr[it + j] + poddr;
    04E3 019A      MOVW	R18,R20
    04E4 0D2A      ADD	R18,R10
    04E5 1D3B      ADC	R19,R11
    04E6 E004      LDI	R16,4
    04E7 E010      LDI	R17,0
    04E8 940E0764  CALL	empy16s
    04EA 0118      MOVW	R2,R16
    04EB 0C2E      ADD	R2,R14
    04EC 1C3F      ADC	R3,R15
    04ED 01F1      MOVW	R30,R2
    04EE 8040      LDD	R4,Z+0
    04EF 8051      LDD	R5,Z+1
    04F0 8062      LDD	R6,Z+2
    04F1 8073      LDD	R7,Z+3
    04F2 927A      ST	R7,-Y
    04F3 926A      ST	R6,-Y
    04F4 925A      ST	R5,-Y
    04F5 924A      ST	R4,-Y
    04F6 01FE      MOVW	R30,R28
    04F7 8844      LDD	R4,Z+20
    04F8 8855      LDD	R5,Z+21
    04F9 8866      LDD	R6,Z+22
    04FA 8877      LDD	R7,Z+23
    04FB 927A      ST	R7,-Y
    04FC 926A      ST	R6,-Y
    04FD 925A      ST	R5,-Y
    04FE 924A      ST	R4,-Y
    04FF 940E086C  CALL	add32f
    0501 01F1      MOVW	R30,R2
    0502 8300      STD	Z+0,R16
    0503 8311      STD	Z+1,R17
    0504 8322      STD	Z+2,R18
    0505 8333      STD	Z+3,R19
(0068) fi[it + j] = fi[it + j] + poddi;
    0506 019A      MOVW	R18,R20
    0507 0D2A      ADD	R18,R10
    0508 1D3B      ADC	R19,R11
    0509 E004      LDI	R16,4
    050A E010      LDI	R17,0
    050B 940E0764  CALL	empy16s
    050D 0118      MOVW	R2,R16
    050E 0C2C      ADD	R2,R12
    050F 1C3D      ADC	R3,R13
    0510 01F1      MOVW	R30,R2
    0511 8040      LDD	R4,Z+0
    0512 8051      LDD	R5,Z+1
    0513 8062      LDD	R6,Z+2
    0514 8073      LDD	R7,Z+3
    0515 927A      ST	R7,-Y
    0516 926A      ST	R6,-Y
    0517 925A      ST	R5,-Y
    0518 924A      ST	R4,-Y
    0519 01FE      MOVW	R30,R28
    051A 8C40      LDD	R4,Z+24
    051B 8C51      LDD	R5,Z+25
    051C 8C62      LDD	R6,Z+26
    051D 8C73      LDD	R7,Z+27
    051E 927A      ST	R7,-Y
    051F 926A      ST	R6,-Y
    0520 925A      ST	R5,-Y
    0521 924A      ST	R4,-Y
    0522 940E086C  CALL	add32f
    0524 01F1      MOVW	R30,R2
    0525 8300      STD	Z+0,R16
    0526 8311      STD	Z+1,R17
    0527 8322      STD	Z+2,R18
    0528 8333      STD	Z+3,R19
    0529 01C5      MOVW	R24,R10
    052A 9601      ADIW	R24,1
    052B 015C      MOVW	R10,R24
    052C E022      LDI	R18,2
    052D E030      LDI	R19,0
    052E 8108      LDD	R16,Y+0
    052F 8119      LDD	R17,Y+1
    0530 940E072E  CALL	div16s
    0532 01C8      MOVW	R24,R16
    0533 9701      SBIW	R24,1
    0534 158A      CP	R24,R10
    0535 059B      CPC	R25,R11
    0536 F00C      BLT	0x0538
    0537 CE35      RJMP	0x036D
    0538 8028      LDD	R2,Y+0
    0539 8039      LDD	R3,Y+1
    053A 0D42      ADD	R20,R2
    053B 1D53      ADC	R21,R3
    053C 8128      LDD	R18,Y+0
    053D 8139      LDD	R19,Y+1
    053E 810A      LDD	R16,Y+2
    053F 811B      LDD	R17,Y+3
    0540 5001      SUBI	R16,1
    0541 4010      SBCI	R17,0
    0542 940E0764  CALL	empy16s
    0544 1704      CP	R16,R20
    0545 0715      CPC	R17,R21
    0546 F00C      BLT	0x0548
    0547 CE22      RJMP	0x036A
    0548 A18C      LDD	R24,Y+36
    0549 A19D      LDD	R25,Y+37
    054A 9701      SBIW	R24,1
    054B A39D      STD	Y+37,R25
    054C A38C      STD	Y+36,R24
    054D A18C      LDD	R24,Y+36
    054E A19D      LDD	R25,Y+37
    054F 3080      CPI	R24,0
    0550 E0E0      LDI	R30,0
    0551 079E      CPC	R25,R30
    0552 F00C      BLT	0x0554
    0553 CE03      RJMP	0x0357
(0069) }
(0070) }
(0071) if(l != 0)
    0554 01FE      MOVW	R30,R28
    0555 5BEC      SUBI	R30,0xBC
    0556 4FFF      SBCI	R31,0xFF
    0557 8000      LDD	R0,Z+0
    0558 8011      LDD	R1,Z+1
    0559 2000      TST	R0
    055A F419      BNE	0x055E
    055B 2011      TST	R1
    055C F409      BNE	0x055E
    055D C06F      RJMP	0x05CD
(0072) for(i = 0;i <= n - 1;i ++)
    055E 2422      CLR	R2
    055F 2433      CLR	R3
    0560 8E39      STD	Y+25,R3
    0561 8E28      STD	Y+24,R2
    0562 C061      RJMP	0x05C4
(0073) {
(0074) fr[i] = fr[i] / (1.0 * n);
    0563 8D28      LDD	R18,Y+24
    0564 8D39      LDD	R19,Y+25
    0565 E004      LDI	R16,4
    0566 E010      LDI	R17,0
    0567 940E0764  CALL	empy16s
    0569 0118      MOVW	R2,R16
    056A 0C2E      ADD	R2,R14
    056B 1C3F      ADC	R3,R15
    056C 01F1      MOVW	R30,R2
    056D 8040      LDD	R4,Z+0
    056E 8051      LDD	R5,Z+1
    056F 8062      LDD	R6,Z+2
    0570 8073      LDD	R7,Z+3
    0571 927A      ST	R7,-Y
    0572 926A      ST	R6,-Y
    0573 925A      ST	R5,-Y
    0574 924A      ST	R4,-Y
    0575 E60C      LDI	R16,0x6C
    0576 E010      LDI	R17,0
    0577 940E07A5  CALL	lpm32
    0579 933A      ST	R19,-Y
    057A 932A      ST	R18,-Y

⌨️ 快捷键说明

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