📄 adc.lst
字号:
04F9 1AE1 SUB R14,R17
04FA 9503 INC R16
04FB 952A DEC R18
04FC F7B9 BNE 0x04F4
04FD F40E BRTC 0x04FF
04FE 2D0E MOV R16,R14
04FF 90E9 LD R14,Y+
0500 90F9 LD R15,Y+
0501 9129 LD R18,Y+
0502 9508 RET
pop_gset2:
0503 E0E2 LDI R30,2
0504 940C0518 JMP pop
pop_gset3:
0506 E0E4 LDI R30,4
0507 940C0518 JMP pop
pop_gset4:
0509 E0E8 LDI R30,0x8
050A 940C0518 JMP pop
push_gset5:
050C 92FA ST R15,-Y
050D 92EA ST R14,-Y
push_gset4:
050E 92DA ST R13,-Y
050F 92CA ST R12,-Y
push_gset3:
0510 92BA ST R11,-Y
0511 92AA ST R10,-Y
push_gset2:
0512 937A ST R23,-Y
0513 936A ST R22,-Y
push_gset1:
0514 935A ST R21,-Y
0515 934A ST R20,-Y
0516 9508 RET
pop_gset1:
0517 E0E1 LDI R30,1
pop:
0518 9149 LD R20,Y+
0519 9159 LD R21,Y+
051A FDE0 SBRC R30,0
051B 9508 RET
051C 9169 LD R22,Y+
051D 9179 LD R23,Y+
051E FDE1 SBRC R30,1
051F 9508 RET
0520 90A9 LD R10,Y+
0521 90B9 LD R11,Y+
0522 FDE2 SBRC R30,2
0523 9508 RET
0524 90C9 LD R12,Y+
0525 90D9 LD R13,Y+
0526 FDE3 SBRC R30,3
0527 9508 RET
0528 90E9 LD R14,Y+
0529 90F9 LD R15,Y+
052A 9508 RET
neg32:
052B 9500 COM R16
052C 9510 COM R17
052D 9520 COM R18
052E 9530 COM R19
052F 5F0F SUBI R16,0xFF
0530 4F1F SBCI R17,0xFF
0531 4F2F SBCI R18,0xFF
0532 4F3F SBCI R19,0xFF
0533 9508 RET
lpm32:
0534 93EA ST R30,-Y
0535 93FA ST R31,-Y
0536 920A ST R0,-Y
0537 2FE0 MOV R30,R16
0538 2FF1 MOV R31,R17
0539 95C8 LPM
053A 2D00 MOV R16,R0
053B 9631 ADIW R30,1
053C 95C8 LPM
053D 2D10 MOV R17,R0
053E 9631 ADIW R30,1
053F 95C8 LPM
0540 2D20 MOV R18,R0
0541 9631 ADIW R30,1
0542 95C8 LPM
0543 2D30 MOV R19,R0
0544 9009 LD R0,Y+
0545 91F9 LD R31,Y+
0546 91E9 LD R30,Y+
0547 9508 RET
fp2int:
0548 940E0726 CALL savfacc1
054A D014 RCALL FTOI
054B 2F02 MOV R16,R18
054C 2F13 MOV R17,R19
054D FD87 SBRC R24,7
054E C002 RJMP nojump1
054F 940C0729 JMP restorefacc1
nojump1:
0551 9510 COM R17
0552 9501 NEG R16
0553 4F1F SBCI R17,0xFF
0554 940C0729 JMP restorefacc1
fp2long:
0556 940E0726 CALL savfacc1
0558 D008 RCALL FTOL
0559 FF87 SBRS R24,7
055A C002 RJMP nojump2
055B 940E052B CALL neg32
nojump2:
055D 940C0729 JMP restorefacc1
FTOI:
055F E0BE LDI R27,0xE
0560 C001 RJMP 0x0562
FTOL:
0561 E1BE LDI R27,0x1E
0562 940E072C CALL unpackfacc1
0564 F069 BEQ 0x0572
0565 1BB3 SUB R27,R19
0566 F009 BEQ 0x0568
0567 F472 BPL 0x0576
0568 2388 TST R24
0569 F022 BMI 0x056E
056A E010 LDI R17,0
056B EA00 LDI R16,0xA0
056C 940C0534 JMP lpm32
056E E010 LDI R17,0
056F EA06 LDI R16,0xA6
0570 940C0534 JMP lpm32
0572 E010 LDI R17,0
0573 EA04 LDI R16,0xA4
0574 940C0534 JMP lpm32
0576 9533 INC R19
0577 F3D2 BMI 0x0572
0578 E030 LDI R19,0
0579 50B8 SUBI R27,0x8
057A F452 BPL 0x0585
057B 5FB8 SUBI R27,0xF8
057C 2F32 MOV R19,R18
057D 2F21 MOV R18,R17
057E 2F10 MOV R17,R16
057F E800 LDI R16,0x80
0580 C006 RJMP 0x0587
0581 2F01 MOV R16,R17
0582 2F12 MOV R17,R18
0583 E020 LDI R18,0
0584 50B8 SUBI R27,0x8
0585 30B8 CPI R27,0x8
0586 F7D0 BCC 0x0581
0587 23BB TST R27
0588 F031 BEQ 0x058F
0589 9536 LSR R19
058A 9527 ROR R18
058B 9517 ROR R17
058C 9507 ROR R16
058D 95BA DEC R27
058E F7D1 BNE 0x0589
058F 9508 RET
int2fp:
0590 2722 CLR R18
0591 FD17 SBRC R17,7
0592 9520 COM R18
0593 2733 CLR R19
0594 FD27 SBRC R18,7
0595 9530 COM R19
long2fp:
0596 940E0726 CALL savfacc1
0598 D002 RCALL ITOF
0599 940C0729 JMP restorefacc1
ITOF:
059B 2788 CLR R24
059C 2333 TST R19
059D F41A BPL 0x05A1
059E 940E052B CALL neg32
05A0 9580 COM R24
05A1 2FB0 MOV R27,R16
05A2 2BB1 OR R27,R17
05A3 2BB2 OR R27,R18
05A4 2BB3 OR R27,R19
05A5 F411 BNE 0x05A8
05A6 940C0742 JMP minres
05A8 E1B6 LDI R27,0x16
05A9 C005 RJMP itof2
05AA 95B3 INC R27
05AB 9536 LSR R19
05AC 9527 ROR R18
05AD 9517 ROR R17
05AE 9507 ROR R16
itof2:
05AF 2333 TST R19
05B0 F7C9 BNE 0x05AA
itof3:
05B1 2322 TST R18
05B2 F449 BNE 0x05BC
05B3 50B8 SUBI R27,0x8
05B4 2F21 MOV R18,R17
05B5 2F10 MOV R17,R16
05B6 E000 LDI R16,0
05B7 CFF9 RJMP itof3
05B8 95BA DEC R27
05B9 0F00 LSL R16
05BA 1F11 ROL R17
05BB 1F22 ROL R18
05BC F7DA BPL 0x05B8
05BD 2F3B MOV R19,R27
05BE 940C076C JMP repack
save_floatregs:
05C0 92DA ST R13,-Y
05C1 92EA ST R14,-Y
05C2 92FA ST R15,-Y
05C3 938A ST R24,-Y
05C4 922A ST R2,-Y
05C5 923A ST R3,-Y
05C6 924A ST R4,-Y
05C7 939A ST R25,-Y
05C8 93AA ST R26,-Y
05C9 93BA ST R27,-Y
05CA 9508 RET
restore_floatregs:
05CB 91B9 LD R27,Y+
05CC 91A9 LD R26,Y+
05CD 9199 LD R25,Y+
05CE 9049 LD R4,Y+
05CF 9039 LD R3,Y+
05D0 9029 LD R2,Y+
05D1 9189 LD R24,Y+
05D2 90F9 LD R15,Y+
05D3 90E9 LD R14,Y+
05D4 90D9 LD R13,Y+
05D5 9508 RET
stk2arg1:
05D6 842A LDD R2,Y+10
05D7 843B LDD R3,Y+11
05D8 844C LDD R4,Y+12
05D9 859D LDD R25,Y+13
05DA 9508 RET
stk2arg0:
05DB 850E LDD R16,Y+14
05DC 851F LDD R17,Y+15
05DD 8928 LDD R18,Y+16
05DE 8939 LDD R19,Y+17
05DF 9508 RET
float_epilog:
05E0 DFEA RCALL restore_floatregs
05E1 920F PUSH R0
05E2 B60F IN R0,0x3F
05E3 9628 ADIW R28,0x8
05E4 BE0F OUT 0x3F,R0
05E5 900F POP R0
05E6 9508 RET
float_prolog:
05E7 DFD8 RCALL save_floatregs
05E8 DFF2 RCALL stk2arg0
05E9 CFEC RJMP stk2arg1
add32fs:
05EA D002 RCALL add32f
05EB 940C0459 JMP push_arg4
add32f:
05ED 940E05E7 CALL float_prolog
05EF D012 RCALL FADD
05F0 940C05E0 JMP float_epilog
sub32fs:
05F2 D002 RCALL sub32f
05F3 940C0459 JMP push_arg4
sub32f:
05F5 940E05E7 CALL float_prolog
05F7 D009 RCALL FSUB
05F8 940C05E0 JMP float_epilog
fret2:
05FA 2F8A MOV R24,R26
05FB 2F39 MOV R19,R25
05FC 2D24 MOV R18,R4
05FD 2D13 MOV R17,R3
05FE 2D02 MOV R16,R2
05FF 940C076C JMP repack
FSUB:
0601 5890 SUBI R25,0x80
FADD:
0602 940E075A CALL unpack
0604 3890 CPI R25,0x80
0605 F3C9 BEQ 0x05FF
0606 3830 CPI R19,0x80
0607 F391 BEQ 0x05FA
0608 2FB3 MOV R27,R19
0609 1BB9 SUB R27,R25
060A F3A3 BVS 0x05FF
060B F02A BMI 0x0611
060C F439 BNE 0x0614
060D 1502 CP R16,R2
060E 0513 CPC R17,R3
060F 0524 CPC R18,R4
0610 F418 BCC 0x0614
0611 940E074E CALL swapacc
0613 CFF4 RJMP 0x0608
0614 31B8 CPI R27,0x18
0615 F018 BCS 0x0619
0616 2422 CLR R2
0617 2433 CLR R3
0618 2444 CLR R4
0619 30B8 CPI R27,0x8
061A F028 BCS 0x0620
061B 2C23 MOV R2,R3
061C 2C34 MOV R3,R4
061D 2444 CLR R4
061E 50B8 SUBI R27,0x8
061F CFF9 RJMP 0x0619
0620 23BB TST R27
0621 F029 BEQ 0x0627
0622 9446 LSR R4
0623 9437 ROR R3
0624 9427 ROR R2
0625 95BA DEC R27
0626 F7D9 BNE 0x0622
0627 2FB8 MOV R27,R24
0628 27BA EOR R27,R26
0629 F04A BMI 0x0633
062A D018 RCALL 0x0643
062B F698 BCC 0x05FF
062C 9527 ROR R18
062D 9517 ROR R17
062E 9507 ROR R16
062F 5F3F SUBI R19,0xFF
0630 F673 BVC 0x05FF
0631 940C073B JMP maxres
0633 D013 RCALL usub24
0634 F411 BNE 0x0637
0635 940C0742 JMP minres
0637 F410 BCC 0x063A
0638 940E0735 CALL negmant
063A 2322 TST R18
063B F21A BMI 0x05FF
063C 0F00 LSL R16
063D 1F11 ROL R17
063E 1F22 ROL R18
063F 5031 SUBI R19,1
0640 F7CB BVC 0x063A
0641 940C073B JMP maxres
0643 0D02 ADD R16,R2
0644 1D13 ADC R17,R3
0645 1D24 ADC R18,R4
0646 9508 RET
usub24:
0647 1902 SUB R16,R2
0648 0913 SBC R17,R3
0649 0924 SBC R18,R4
064A 9508 RET
div32fs:
064B D002 RCALL div32f
064C 940C0459 JMP push_arg4
div32f:
064E 940E05E7 CALL float_prolog
0650 D023 RCALL FDIV
0651 940C05E0 JMP float_epilog
0653 93BA ST R27,-Y
0654 24DD CLR R13
0655 24EE CLR R14
0656 24FF CLR R15
0657 E1B8 LDI R27,0x18
0658 1502 CP R16,R2
0659 0513 CPC R17,R3
065A 0524 CPC R18,R4
065B F028 BCS 0x0661
065C 1902 SUB R16,R2
065D 0913 SBC R17,R3
065E 0924 SBC R18,R4
065F 9408 BSET 0
0660 C001 RJMP 0x0662
0661 9488 BCLR 0
0662 1CDD ROL R13
0663 1CEE ROL R14
0664 1CFF ROL R15
0665 0F00 LSL R16
0666 1F11 ROL R17
0667 1F22 ROL R18
0668 95BA DEC R27
0669 F771 BNE 0x0658
066A 2D0D MOV R16,R13
066B 2D1E MOV R17,R14
066C 2D2F MOV R18,R15
066D 91B9 LD R27,Y+
066E 9508 RET
fdiv10:
066F 2422 CLR R2
0670 2433 CLR R3
0671 E2B0 LDI R27,0x20
0672 2E4B MOV R4,R27
0673 E491 LDI R25,0x41
FDIV:
0674 2399 TST R25
0675 F129 BEQ 0x069B
0676 2333 TST R19
0677 F151 BEQ 0x06A2
0678 940E075A CALL unpack
067A F139 BEQ 0x06A2
067B 278A EOR R24,R26
067C 9408 BSET 0
067D 0B39 SBC R19,R25
067E F0EB BVS 0x069C
067F 9446 LSR R4
0680 9437 ROR R3
0681 9427 ROR R2
0682 9526 LSR R18
0683 9517 ROR R17
0684 9507 ROR R16
0685 DFCD RCALL 0x0653
0686 2322 TST R18
0687 F02A BMI 0x068D
0688 0F00 LSL R16
0689 1F11 ROL R17
068A 1F22 ROL R18
068B 5031 SUBI R19,1
068C F07B BVS 0x069C
068D 2F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -