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

📄 ff.lst

📁 在ICCAVR 环境实现的fft,
💻 LST
📖 第 1 页 / 共 5 页
字号:
    03DB 940E0598  CALL	add32f
    03DD 940E0A60  CALL	_sqrt
    03DF 0118      MOVW	R2,R16
    03E0 0129      MOVW	R4,R18
    03E1 933A      ST	R19,-Y
    03E2 932A      ST	R18,-Y
    03E3 931A      ST	R17,-Y
    03E4 930A      ST	R16,-Y
    03E5 E504      LDI	R16,0x54
    03E6 E010      LDI	R17,0
    03E7 940E04D3  CALL	lpm32
    03E9 933A      ST	R19,-Y
    03EA 932A      ST	R18,-Y
    03EB 931A      ST	R17,-Y
    03EC 930A      ST	R16,-Y
    03ED 940E0653  CALL	cmp32f
    03EF F0AC      BLT	0x0405
    03F0 925A      ST	R5,-Y
    03F1 924A      ST	R4,-Y
    03F2 923A      ST	R3,-Y
    03F3 922A      ST	R2,-Y
    03F4 E504      LDI	R16,0x54
    03F5 E010      LDI	R17,0
    03F6 940E04D3  CALL	lpm32
    03F8 933A      ST	R19,-Y
    03F9 932A      ST	R18,-Y
    03FA 931A      ST	R17,-Y
    03FB 930A      ST	R16,-Y
    03FC 940E05A0  CALL	sub32f
    03FE 940E04F3  CALL	fp2int
    0400 01C8      MOVW	R24,R16
    0401 5080      SUBI	R24,0
    0402 4890      SBCI	R25,0x80
    0403 017C      MOVW	R14,R24
    0404 C005      RJMP	0x040A
    0405 0181      MOVW	R16,R2
    0406 0192      MOVW	R18,R4
    0407 940E04F3  CALL	fp2int
    0409 0178      MOVW	R14,R16
    040A EA80      LDI	R24,0xA0
    040B E090      LDI	R25,0
    040C 91E000C0  LDS	R30,i
    040E 27FF      CLR	R31
    040F 0FE8      ADD	R30,R24
    0410 1FF9      ADC	R31,R25
    0411 82E0      STD	Z+0,R14
(0078)         if ( i )
    0412 906000C0  LDS	R6,i
    0414 2066      TST	R6
    0415 F051      BEQ	0x0420
(0079)            {
(0080)              w [ i ] = w [ i ] / 64 ;
    0416 2477      CLR	R7
    0417 0E68      ADD	R6,R24
    0418 1E79      ADC	R7,R25
    0419 E410      LDI	R17,0x40
    041A 01F3      MOVW	R30,R6
    041B 8100      LDD	R16,Z+0
    041C 940E047C  CALL	div8u
    041E 01F3      MOVW	R30,R6
    041F 8300      STD	Z+0,R16
    0420 918000C0  LDS	R24,i
    0422 5F8F      SUBI	R24,0xFF
    0423 938000C0  STS	i,R24
    0425 918000C0  LDS	R24,i
    0427 3280      CPI	R24,0x20
    0428 F408      BCC	0x042A
    0429 CF68      RJMP	0x0392
(0081)            }
(0082)      }
(0083)    w [ 0 ] = w [ 0 ] / 2 ;
    042A 906000A0  LDS	R6,w
    042C 9466      LSR	R6
    042D 926000A0  STS	w,R6
    042F 966A      ADIW	R28,0x1A
    0430 940E04A8  CALL	pop_gset5
    0432 9624      ADIW	R28,4
    0433 9508      RET
(0084) 
(0085) } 
(0086) 
(0087) void main()
(0088) {
(0089)  FFT(dataR,dataI);
_main:
    0434 E820      LDI	R18,0x80
    0435 E030      LDI	R19,0
    0436 E600      LDI	R16,0x60
    0437 E010      LDI	R17,0
    0438 DC63      RCALL	_FFT
(0090)  while(1);
FILE: <library>
    0439 CFFF      RJMP	0x0439
    043A 9508      RET
push_arg4:
    043B 933A      ST	R19,-Y
    043C 932A      ST	R18,-Y
push_arg2:
    043D 931A      ST	R17,-Y
    043E 930A      ST	R16,-Y
    043F 9508      RET
mod16s:
    0440 9468      BSET	6
    0441 92DA      ST	R13,-Y
    0442 2ED1      MOV	R13,R17
    0443 C004      RJMP	0x0448
div16s:
    0444 94E8      BCLR	6
    0445 92DA      ST	R13,-Y
    0446 2ED1      MOV	R13,R17
    0447 26D3      EOR	R13,R19
    0448 FF17      SBRS	R17,7
    0449 C004      RJMP	0x044E
    044A 9510      COM	R17
    044B 9500      COM	R16
    044C 5F0F      SUBI	R16,0xFF
    044D 4F1F      SBCI	R17,0xFF
    044E FF37      SBRS	R19,7
    044F C004      RJMP	0x0454
    0450 9530      COM	R19
    0451 9520      COM	R18
    0452 5F2F      SUBI	R18,0xFF
    0453 4F3F      SBCI	R19,0xFF
    0454 940E0461  CALL	xdiv16u
    0456 FED7      SBRS	R13,7
    0457 C004      RJMP	0x045C
    0458 9510      COM	R17
    0459 9500      COM	R16
    045A 5F0F      SUBI	R16,0xFF
    045B 4F1F      SBCI	R17,0xFF
    045C 90D9      LD	R13,Y+
    045D 9508      RET
mod16u:
    045E 9468      BSET	6
    045F C001      RJMP	xdiv16u
div16u:
    0460 94E8      BCLR	6
xdiv16u:
    0461 92EA      ST	R14,-Y
    0462 92FA      ST	R15,-Y
    0463 938A      ST	R24,-Y
    0464 24EE      CLR	R14
    0465 24FF      CLR	R15
    0466 E180      LDI	R24,0x10
    0467 0F00      LSL	R16
    0468 1F11      ROL	R17
    0469 1CEE      ROL	R14
    046A 1CFF      ROL	R15
    046B 16E2      CP	R14,R18
    046C 06F3      CPC	R15,R19
    046D F018      BCS	0x0471
    046E 1AE2      SUB	R14,R18
    046F 0AF3      SBC	R15,R19
    0470 9503      INC	R16
    0471 958A      DEC	R24
    0472 F7A1      BNE	0x0467
    0473 F416      BRTC	0x0476
    0474 2D0E      MOV	R16,R14
    0475 2D1F      MOV	R17,R15
    0476 9189      LD	R24,Y+
    0477 90F9      LD	R15,Y+
    0478 90E9      LD	R14,Y+
    0479 9508      RET
mod8u:
    047A 9468      BSET	6
    047B C001      RJMP	xdiv8u
div8u:
    047C 94E8      BCLR	6
xdiv8u:
    047D 932A      ST	R18,-Y
    047E 92FA      ST	R15,-Y
    047F 92EA      ST	R14,-Y
    0480 24FF      CLR	R15
    0481 24EE      CLR	R14
    0482 E120      LDI	R18,0x10
    0483 0F00      LSL	R16
    0484 1CFF      ROL	R15
    0485 1CEE      ROL	R14
    0486 16E1      CP	R14,R17
    0487 F010      BCS	0x048A
    0488 1AE1      SUB	R14,R17
    0489 9503      INC	R16
    048A 952A      DEC	R18
    048B F7B9      BNE	0x0483
    048C F40E      BRTC	0x048E
    048D 2D0E      MOV	R16,R14
    048E 90E9      LD	R14,Y+
    048F 90F9      LD	R15,Y+
    0490 9129      LD	R18,Y+
    0491 9508      RET
empy16s:
    0492 920A      ST	R0,-Y
    0493 921A      ST	R1,-Y
    0494 938A      ST	R24,-Y
    0495 939A      ST	R25,-Y
    0496 9F02      MUL	R16,R18
    0497 01C0      MOVW	R24,R0
    0498 9F12      MUL	R17,R18
    0499 0D90      ADD	R25,R0
    049A 9F03      MUL	R16,R19
    049B 0D90      ADD	R25,R0
    049C 018C      MOVW	R16,R24
    049D 9199      LD	R25,Y+
    049E 9189      LD	R24,Y+
    049F 9019      LD	R1,Y+
    04A0 9009      LD	R0,Y+
    04A1 9508      RET
pop_gset2:
    04A2 E0E2      LDI	R30,2
    04A3 940C04B7  JMP	pop
pop_gset3:
    04A5 E0E4      LDI	R30,4
    04A6 940C04B7  JMP	pop
pop_gset5:
    04A8 27EE      CLR	R30
    04A9 940C04B7  JMP	pop
push_gset5:
    04AB 92FA      ST	R15,-Y
    04AC 92EA      ST	R14,-Y
push_gset4:
    04AD 92DA      ST	R13,-Y
    04AE 92CA      ST	R12,-Y
push_gset3:
    04AF 92BA      ST	R11,-Y
    04B0 92AA      ST	R10,-Y
push_gset2:
    04B1 937A      ST	R23,-Y
    04B2 936A      ST	R22,-Y
push_gset1:
    04B3 935A      ST	R21,-Y
    04B4 934A      ST	R20,-Y
    04B5 9508      RET
pop_gset1:
    04B6 E0E1      LDI	R30,1
pop:
    04B7 9149      LD	R20,Y+
    04B8 9159      LD	R21,Y+
    04B9 FDE0      SBRC	R30,0
    04BA 9508      RET
    04BB 9169      LD	R22,Y+
    04BC 9179      LD	R23,Y+
    04BD FDE1      SBRC	R30,1
    04BE 9508      RET
    04BF 90A9      LD	R10,Y+
    04C0 90B9      LD	R11,Y+
    04C1 FDE2      SBRC	R30,2
    04C2 9508      RET
    04C3 90C9      LD	R12,Y+
    04C4 90D9      LD	R13,Y+
    04C5 FDE3      SBRC	R30,3
    04C6 9508      RET
    04C7 90E9      LD	R14,Y+
    04C8 90F9      LD	R15,Y+
    04C9 9508      RET
neg32:
    04CA 9500      COM	R16
    04CB 9510      COM	R17
    04CC 9520      COM	R18
    04CD 9530      COM	R19
    04CE 5F0F      SUBI	R16,0xFF
    04CF 4F1F      SBCI	R17,0xFF
    04D0 4F2F      SBCI	R18,0xFF
    04D1 4F3F      SBCI	R19,0xFF
    04D2 9508      RET
lpm32:
    04D3 93EA      ST	R30,-Y
    04D4 93FA      ST	R31,-Y
    04D5 920A      ST	R0,-Y
    04D6 2FE0      MOV	R30,R16
    04D7 2FF1      MOV	R31,R17
    04D8 95C8      LPM
    04D9 2D00      MOV	R16,R0
    04DA 9631      ADIW	R30,1
    04DB 95C8      LPM
    04DC 2D10      MOV	R17,R0
    04DD 9631      ADIW	R30,1
    04DE 95C8      LPM
    04DF 2D20      MOV	R18,R0
    04E0 9631      ADIW	R30,1
    04E1 95C8      LPM
    04E2 2D30      MOV	R19,R0
    04E3 9009      LD	R0,Y+
    04E4 91F9      LD	R31,Y+
    04E5 91E9      LD	R30,Y+
    04E6 9508      RET
lsl32:
    04E7 920F      PUSH	R0
    04E8 9009      LD	R0,Y+
    04E9 2000      TST	R0
    04EA F031      BEQ	0x04F1
    04EB 0F00      LSL	R16
    04EC 1F11      ROL	R17
    04ED 1F22      ROL	R18
    04EE 1F33      ROL	R19
    04EF 940A      DEC	R0
    04F0 CFF8      RJMP	0x04E9
    04F1 900F      POP	R0
    04F2 9508      RET
fp2int:
    04F3 940E071D  CALL	savfacc1
    04F5 D014      RCALL	FTOI
    04F6 2F02      MOV	R16,R18
    04F7 2F13      MOV	R17,R19
    04F8 FD87      SBRC	R24,7
    04F9 C002      RJMP	nojump1
    04FA 940C0720  JMP	restorefacc1
nojump1:
    04FC 9510      COM	R17
    04FD 9501      NEG	R16
    04FE 4F1F      SBCI	R17,0xFF
    04FF 940C0720  JMP	restorefacc1
fp2long:
    0501 940E071D  CALL	savfacc1
    0503 D008      RCALL	FTOL
    0504 FF87      SBRS	R24,7
    0505 C002      RJMP	nojump2
    0506 940E04CA  CALL	neg32
nojump2:
    0508 940C0720  JMP	restorefacc1
FTOI:
    050A E0BE      LDI	R27,0xE
    050B C001      RJMP	0x050D
FTOL:
    050C E1BE      LDI	R27,0x1E
    050D 940E0723  CALL	unpackfacc1
    050F F069      BEQ	0x051D
    0510 1BB3      SUB	R27,R19
    0511 F009      BEQ	0x0513
    0512 F472      BPL	0x0521
    0513 2388      TST	R24
    0514 F022      BMI	0x0519
    0515 E010      LDI	R17,0
    0516 E604      LDI	R16,0x64
    0517 940C04D3  JMP	lpm32
    0519 E010      LDI	R17,0
    051A E60A      LDI	R16,0x6A
    051B 940C04D3  JMP	lpm32
    051D E010      LDI	R17,0
    051E E608      LDI	R16,0x68
    051F 940C04D3  JMP	lpm32
    0521 9533      INC	R19
    0522 F3D2      BMI	0x051D
    0523 E030      LDI	R19,0
    0524 50B8      SUBI	R27,0x8
    0525 F452      BPL	0x0530
    0526 5FB8      SUBI	R27,0xF8
    0527 2F32      MOV	R19,R18
    0528 2F21      MOV	R18,R17
    0529 2F10      MOV	R17,R16
    052A E800      LDI	R16,0x80
    052B C006      RJMP	0x0532
    052C 2F01      MOV	R16,R17
    052D 2F12      MOV	R17,R18
    052E E020      LDI	R18,0
    052F 50B8      SUBI	R27,0x8
    0530 30B8      CPI	R27,0x8
    0531 F7D0      BCC	0x052C
    0532 23BB      TST	R27
    0533 F031      BEQ	0x053A
    0534 9536      LSR	R19
    0535 9527      ROR	R18
    0536 9517      ROR	R17
    0537 9507      ROR	R16
    0538 95BA      DEC	R27
    0539 F7D1      BNE	0x0534
    053A 9508      RET
int2fp:
    053B 2722      CLR	R18
    053C FD17      SBRC	R17,7
    053D 9520      COM	R18
    053E 2733      CLR	R19
    053F FD27      SBRC	R18,7
    0540 9530      COM	R19
long2fp:
    0541 940E071D  CALL	savfacc1
    0543 D002      RCALL	ITOF
    0544 940C0720  JMP	restorefacc1
ITOF:
    0546 2788      CLR	R24
    0547 2333      TST	R19
    0548 F41A      BPL	0x054C
    0549 940E04CA  CALL	neg32
    054B 9580      COM	R24
    054C 2FB0      MOV	R27,R16
    054D 2BB1      OR	R27,R17
    054E 2BB2      OR	R27,R18
    054F 2BB3      OR	R27,R19
    0550 F411      BNE	0x0553
    0551 940C0739  JMP	minres
    0553 E1B6      LDI	R27,0x16
    0554 C005      RJMP	itof2
    0555 95B3      INC	R27
    0556 9536      LSR	R19
    0557 9527      ROR	R18
    0558 9517      ROR	R17
    0559 9507      ROR	R16
itof2:
    055A 2333      TST	R19
    055B F7C9      BNE	0x0555
itof3:
    055C 2322      TST	R18
    055D F449      BNE	0x0567
    055E 50B8      SUBI	R27,0x8
    055F 2F21      MOV	R18,R17
    0560 2F10      MOV	R17,R16
    0561 E000      LDI	R16,0
    0562 CFF9      RJMP	itof3
    0563 95BA      DEC	R27
    0564 0F00      LSL	R16
    0565 1F11      ROL	R17
    0566 1F22      ROL	R18
    0567 F7DA      BPL	0x0563
    0568 2F3B      MOV	R19,R27
    0569 940C0763  JMP	repack
save_floatregs:
    056B 92DA      ST	R13,-Y
    056C 92EA      ST	R14,-Y
    056D 92FA      ST	R15,-Y
    056E 938A      ST	R24,-Y
    056F 922A      ST	R2,-Y
    0570 923A      ST	R3,-Y
    0571 924A      ST	R4,-Y
    0572 939A      ST	R25,-Y
    0573 93AA      ST	R26,-Y
    0574 93BA      ST	R27,-Y
    0575 9508      RET
restore_floatregs:
    0576 91B9      LD	R27,Y+
    0577 91A9      LD	R26,Y+
    0578 9199      LD	R25,Y+
    0579 9049      LD	R4,Y+
    057A 9039      LD	R3,Y+
    057B 9029      LD	R2,Y+
    057C 9189      LD	R24,Y+
    057D 90F9      LD	R15,Y+

⌨️ 快捷键说明

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