📄 ff.lst
字号:
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 + -