?? fffff.lst
字號:
03FE 0D06 ADD R16,R6
03FF 1D17 ADC R17,R7
0400 940E052C CALL int2fp
0402 922F PUSH R2
0403 923F PUSH R3
0404 940E0A51 CALL _sqrt
0406 903F POP R3
0407 902F POP R2
0408 E280 LDI R24,0x20
0409 E091 LDI R25,1
040A 01F1 MOVW R30,R2
040B 0FE8 ADD R30,R24
040C 1FF9 ADC R31,R25
040D 940E04E4 CALL fp2int
040F 8311 STD Z+1,R17
0410 8300 STD Z+0,R16
(0046) if(!i)
0411 8C0A LDD R0,Y+26
0412 2000 TST R0
0413 F489 BNE 0x0425
(0047) {
(0048) w[i]=w[i]/64;
0414 E082 LDI R24,2
0415 9D80 MUL R24,R0
0416 0110 MOVW R2,R0
0417 E280 LDI R24,0x20
0418 E091 LDI R25,1
0419 0E28 ADD R2,R24
041A 1E39 ADC R3,R25
041B E420 LDI R18,0x40
041C E030 LDI R19,0
041D 01F1 MOVW R30,R2
041E 8100 LDD R16,Z+0
041F 8111 LDD R17,Z+1
0420 940E044D CALL div16s
0422 01F1 MOVW R30,R2
0423 8311 STD Z+1,R17
0424 8300 STD Z+0,R16
0425 8C0A LDD R0,Y+26
0426 9403 INC R0
0427 8E0A STD Y+26,R0
0428 8D8A LDD R24,Y+26
0429 3280 CPI R24,0x20
042A F408 BCC 0x042C
042B CFB7 RJMP 0x03E3
(0049) }
(0050) }
(0051) w[0]=w[0]/2;
042C E022 LDI R18,2
042D E030 LDI R19,0
042E 91000120 LDS R16,w
0430 91100121 LDS R17,w+1
0432 940E044D CALL div16s
0434 93100121 STS w+1,R17
0436 93000120 STS w,R16
0438 966D ADIW R28,0x1D
0439 940E0499 CALL pop_gset5
043B 9624 ADIW R28,4
043C 9508 RET
(0052) } /* END FFT */
(0053)
(0054) void main ()
(0055) {
(0056) FFT(dataR,dataI);
_main:
043D E620 LDI R18,0x60
043E E031 LDI R19,1
043F E000 LDI R16,0
0440 E011 LDI R17,1
0441 DC60 RCALL _FFT
(0057) while(1);
FILE: <library>
0442 CFFF RJMP 0x0442
0443 9508 RET
push_arg4:
0444 933A ST R19,-Y
0445 932A ST R18,-Y
push_arg2:
0446 931A ST R17,-Y
0447 930A ST R16,-Y
0448 9508 RET
mod16s:
0449 9468 BSET 6
044A 92DA ST R13,-Y
044B 2ED1 MOV R13,R17
044C C004 RJMP 0x0451
div16s:
044D 94E8 BCLR 6
044E 92DA ST R13,-Y
044F 2ED1 MOV R13,R17
0450 26D3 EOR R13,R19
0451 FF17 SBRS R17,7
0452 C004 RJMP 0x0457
0453 9510 COM R17
0454 9500 COM R16
0455 5F0F SUBI R16,0xFF
0456 4F1F SBCI R17,0xFF
0457 FF37 SBRS R19,7
0458 C004 RJMP 0x045D
0459 9530 COM R19
045A 9520 COM R18
045B 5F2F SUBI R18,0xFF
045C 4F3F SBCI R19,0xFF
045D 940E046A CALL xdiv16u
045F FED7 SBRS R13,7
0460 C004 RJMP 0x0465
0461 9510 COM R17
0462 9500 COM R16
0463 5F0F SUBI R16,0xFF
0464 4F1F SBCI R17,0xFF
0465 90D9 LD R13,Y+
0466 9508 RET
mod16u:
0467 9468 BSET 6
0468 C001 RJMP xdiv16u
div16u:
0469 94E8 BCLR 6
xdiv16u:
046A 92EA ST R14,-Y
046B 92FA ST R15,-Y
046C 938A ST R24,-Y
046D 24EE CLR R14
046E 24FF CLR R15
046F E180 LDI R24,0x10
0470 0F00 LSL R16
0471 1F11 ROL R17
0472 1CEE ROL R14
0473 1CFF ROL R15
0474 16E2 CP R14,R18
0475 06F3 CPC R15,R19
0476 F018 BCS 0x047A
0477 1AE2 SUB R14,R18
0478 0AF3 SBC R15,R19
0479 9503 INC R16
047A 958A DEC R24
047B F7A1 BNE 0x0470
047C F416 BRTC 0x047F
047D 2D0E MOV R16,R14
047E 2D1F MOV R17,R15
047F 9189 LD R24,Y+
0480 90F9 LD R15,Y+
0481 90E9 LD R14,Y+
0482 9508 RET
empy16s:
0483 920A ST R0,-Y
0484 921A ST R1,-Y
0485 938A ST R24,-Y
0486 939A ST R25,-Y
0487 9F02 MUL R16,R18
0488 01C0 MOVW R24,R0
0489 9F12 MUL R17,R18
048A 0D90 ADD R25,R0
048B 9F03 MUL R16,R19
048C 0D90 ADD R25,R0
048D 018C MOVW R16,R24
048E 9199 LD R25,Y+
048F 9189 LD R24,Y+
0490 9019 LD R1,Y+
0491 9009 LD R0,Y+
0492 9508 RET
pop_gset2:
0493 E0E2 LDI R30,2
0494 940C04A8 JMP pop
pop_gset3:
0496 E0E4 LDI R30,4
0497 940C04A8 JMP pop
pop_gset5:
0499 27EE CLR R30
049A 940C04A8 JMP pop
push_gset5:
049C 92FA ST R15,-Y
049D 92EA ST R14,-Y
push_gset4:
049E 92DA ST R13,-Y
049F 92CA ST R12,-Y
push_gset3:
04A0 92BA ST R11,-Y
04A1 92AA ST R10,-Y
push_gset2:
04A2 937A ST R23,-Y
04A3 936A ST R22,-Y
push_gset1:
04A4 935A ST R21,-Y
04A5 934A ST R20,-Y
04A6 9508 RET
pop_gset1:
04A7 E0E1 LDI R30,1
pop:
04A8 9149 LD R20,Y+
04A9 9159 LD R21,Y+
04AA FDE0 SBRC R30,0
04AB 9508 RET
04AC 9169 LD R22,Y+
04AD 9179 LD R23,Y+
04AE FDE1 SBRC R30,1
04AF 9508 RET
04B0 90A9 LD R10,Y+
04B1 90B9 LD R11,Y+
04B2 FDE2 SBRC R30,2
04B3 9508 RET
04B4 90C9 LD R12,Y+
04B5 90D9 LD R13,Y+
04B6 FDE3 SBRC R30,3
04B7 9508 RET
04B8 90E9 LD R14,Y+
04B9 90F9 LD R15,Y+
04BA 9508 RET
neg32:
04BB 9500 COM R16
04BC 9510 COM R17
04BD 9520 COM R18
04BE 9530 COM R19
04BF 5F0F SUBI R16,0xFF
04C0 4F1F SBCI R17,0xFF
04C1 4F2F SBCI R18,0xFF
04C2 4F3F SBCI R19,0xFF
04C3 9508 RET
lpm32:
04C4 93EA ST R30,-Y
04C5 93FA ST R31,-Y
04C6 920A ST R0,-Y
04C7 2FE0 MOV R30,R16
04C8 2FF1 MOV R31,R17
04C9 95C8 LPM
04CA 2D00 MOV R16,R0
04CB 9631 ADIW R30,1
04CC 95C8 LPM
04CD 2D10 MOV R17,R0
04CE 9631 ADIW R30,1
04CF 95C8 LPM
04D0 2D20 MOV R18,R0
04D1 9631 ADIW R30,1
04D2 95C8 LPM
04D3 2D30 MOV R19,R0
04D4 9009 LD R0,Y+
04D5 91F9 LD R31,Y+
04D6 91E9 LD R30,Y+
04D7 9508 RET
lsl32:
04D8 920F PUSH R0
04D9 9009 LD R0,Y+
04DA 2000 TST R0
04DB F031 BEQ 0x04E2
04DC 0F00 LSL R16
04DD 1F11 ROL R17
04DE 1F22 ROL R18
04DF 1F33 ROL R19
04E0 940A DEC R0
04E1 CFF8 RJMP 0x04DA
04E2 900F POP R0
04E3 9508 RET
fp2int:
04E4 940E070E CALL savfacc1
04E6 D014 RCALL FTOI
04E7 2F02 MOV R16,R18
04E8 2F13 MOV R17,R19
04E9 FD87 SBRC R24,7
04EA C002 RJMP nojump1
04EB 940C0711 JMP restorefacc1
nojump1:
04ED 9510 COM R17
04EE 9501 NEG R16
04EF 4F1F SBCI R17,0xFF
04F0 940C0711 JMP restorefacc1
fp2long:
04F2 940E070E CALL savfacc1
04F4 D008 RCALL FTOL
04F5 FF87 SBRS R24,7
04F6 C002 RJMP nojump2
04F7 940E04BB CALL neg32
nojump2:
04F9 940C0711 JMP restorefacc1
FTOI:
04FB E0BE LDI R27,0xE
04FC C001 RJMP 0x04FE
FTOL:
04FD E1BE LDI R27,0x1E
04FE 940E0714 CALL unpackfacc1
0500 F069 BEQ 0x050E
0501 1BB3 SUB R27,R19
0502 F009 BEQ 0x0504
0503 F472 BPL 0x0512
0504 2388 TST R24
0505 F022 BMI 0x050A
0506 E010 LDI R17,0
0507 E900 LDI R16,0x90
0508 940C04C4 JMP lpm32
050A E010 LDI R17,0
050B E906 LDI R16,0x96
050C 940C04C4 JMP lpm32
050E E010 LDI R17,0
050F E904 LDI R16,0x94
0510 940C04C4 JMP lpm32
0512 9533 INC R19
0513 F3D2 BMI 0x050E
0514 E030 LDI R19,0
0515 50B8 SUBI R27,0x8
0516 F452 BPL 0x0521
0517 5FB8 SUBI R27,0xF8
0518 2F32 MOV R19,R18
0519 2F21 MOV R18,R17
051A 2F10 MOV R17,R16
051B E800 LDI R16,0x80
051C C006 RJMP 0x0523
051D 2F01 MOV R16,R17
051E 2F12 MOV R17,R18
051F E020 LDI R18,0
0520 50B8 SUBI R27,0x8
0521 30B8 CPI R27,0x8
0522 F7D0 BCC 0x051D
0523 23BB TST R27
0524 F031 BEQ 0x052B
0525 9536 LSR R19
0526 9527 ROR R18
0527 9517 ROR R17
0528 9507 ROR R16
0529 95BA DEC R27
052A F7D1 BNE 0x0525
052B 9508 RET
int2fp:
052C 2722 CLR R18
052D FD17 SBRC R17,7
052E 9520 COM R18
052F 2733 CLR R19
0530 FD27 SBRC R18,7
0531 9530 COM R19
long2fp:
0532 940E070E CALL savfacc1
0534 D002 RCALL ITOF
0535 940C0711 JMP restorefacc1
ITOF:
0537 2788 CLR R24
0539 F41A BPL 0x053D
053A 940E04BB CALL neg32
053C 9580 COM R24
053D 2FB0 MOV R27,R16
053E 2BB1 OR R27,R17
053F 2BB2 OR R27,R18
0540 2BB3 OR R27,R19
0541 F411 BNE 0x0544
0542 940C072A JMP minres
0544 E1B6 LDI R27,0x16
0545 C005 RJMP itof2
0546 95B3 INC R27
0547 9536 LSR R19
0548 9527 ROR R18
0549 9517 ROR R17
054A 9507 ROR R16
itof2:
054B 2333 TST R19
054C F7C9 BNE 0x0546
itof3:
054D 2322 TST R18
054E F449 BNE 0x0558
054F 50B8 SUBI R27,0x8
0550 2F21 MOV R18,R17
0551 2F10 MOV R17,R16
0552 E000 LDI R16,0
0553 CFF9 RJMP itof3
0554 95BA DEC R27
0555 0F00 LSL R16
0556 1F11 ROL R17
0557 1F22 ROL R18
0558 F7DA BPL 0x0554
0559 2F3B MOV R19,R27
055A 940C0754 JMP repack
save_floatregs:
055C 92DA ST R13,-Y
055D 92EA ST R14,-Y
055E 92FA ST R15,-Y
055F 938A ST R24,-Y
0560 922A ST R2,-Y
0561 923A ST R3,-Y
0562 924A ST R4,-Y
0563 939A ST R25,-Y
0564 93AA ST R26,-Y
0565 93BA ST R27,-Y
0566 9508 RET
restore_floatregs:
0567 91B9 LD R27,Y+
0568 91A9 LD R26,Y+
0569 9199 LD R25,Y+
056A 9049 LD R4,Y+
056B 9039 LD R3,Y+
056C 9029 LD R2,Y+
056D 9189 LD R24,Y+
056E 90F9 LD R15,Y+
056F 90E9 LD R14,Y+
0570 90D9 LD R13,Y+
0571 9508 RET
stk2arg1:
0572 842A LDD R2,Y+10
0573 843B LDD R3,Y+11
0574 844C LDD R4,Y+12
0575 859D LDD R25,Y+13
0576 9508 RET
stk2arg0:
0577 850E LDD R16,Y+14
0578 851F LDD R17,Y+15
0579 8928 LDD R18,Y+16
057A 8939 LDD R19,Y+17
057B 9508 RET
float_epilog:
057C DFEA RCALL restore_floatregs
057D 920F PUSH R0
057E B60F IN R0,0x3F
057F 9628 ADIW R28,0x8
0580 BE0F OUT 0x3F,R0
0581 900F POP R0
0582 9508 RET
float_prolog:
0583 DFD8 RCALL save_floatregs
0584 DFF2 RCALL stk2arg0
0585 CFEC RJMP stk2arg1
add32fs:
0586 D002 RCALL add32f
0587 940C0444 JMP push_arg4
add32f:
0589 940E0583 CALL float_prolog
058B D012 RCALL FADD
058C 940C057C JMP float_epilog
sub32fs:
058E D002 RCALL sub32f
058F 940C0444 JMP push_arg4
sub32f:
0591 940E0583 CALL float_prolog
0593 D009 RCALL FSUB
0594 940C057C JMP float_epilog
fret2:
0596 2F8A MOV R24,R26
0597 2F39 MOV R19,R25
0598 2D24 MOV R18,R4
0599 2D13 MOV R17,R3
059A 2D02 MOV R16,R2
059B 940C0754 JMP repack
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -