📄 zz.lst
字号:
00501 94A7 ROR R10
00502 9497 ROR R9
00503 9487 ROR R8
00504 9701 SBIW R24,1
00505 F7D1 BNE 0x0500
00506 2466 CLR R6
00507 F02E BRTS 0x050D
00508 0D08 ADD R16,R8
00509 1D19 ADC R17,R9
0050A 1D2A ADC R18,R10
0050B 1D3B ADC R19,R11
0050C C009 RJMP 0x0516
0050D 1A80 SUB R8,R16
0050E 0A91 SBC R9,R17
0050F 0AA2 SBC R10,R18
00510 0AB3 SBC R11,R19
00511 2D08 MOV R16,R8
00512 2D19 MOV R17,R9
00513 2D2A MOV R18,R10
00514 2D3B MOV R19,R11
00515 2333 TST R19
00516 F422 BPL 0x051B
00517 940E 04B5 CALL neg32
00519 E880 LDI R24,0x80
0051A 2E68 MOV R6,R24
0051B 940E 05C6 CALL normalize_and_pack
0051D C002 RJMP 0x0520
0051E 940E 05FB CALL pack
00520 940E 061A CALL restoreFPRegs
00522 9508 RET
00523 8100 LD R16,Z
00524 8111 LDD R17,Z+1
00525 8122 LDD R18,Z+2
00526 8133 LDD R19,Z+3
00527 F7C6 BRTC 0x0520
00528 940E 05A5 CALL tstR16_R19
0052A F3A9 BEQ 0x0520
0052B E880 LDI R24,0x80
0052C 2738 EOR R19,R24
0052D CFF2 RJMP 0x0520
0052E 2D08 MOV R16,R8
0052F 2D19 MOV R17,R9
00530 2D2A MOV R18,R10
00531 2D3B MOV R19,R11
00532 2C4C MOV R4,R12
00533 2C5D MOV R5,R13
00534 2C6E MOV R6,R14
00535 2333 TST R19
00536 F73A BPL 0x051E
00537 940E 04B5 CALL neg32
00539 E880 LDI R24,0x80
0053A 2E68 MOV R6,R24
0053B CFE2 RJMP 0x051E
fpadd2:
0053C 93FA ST -Y,R31
0053D 93EA ST -Y,R30
0053E 2FEC MOV R30,R28
0053F 2FFD MOV R31,R29
00540 9632 ADIW R30,2
00541 940E 04D4 CALL fpadd
00543 91E9 LD R30,Y+
00544 91F9 LD R31,Y+
00545 9624 ADIW R28,4
00546 9508 RET
fpint:
00547 924A ST -Y,R4
00548 925A ST -Y,R5
00549 926A ST -Y,R6
0054A 938A ST -Y,R24
0054B 940E 05AD CALL unpacku
0054D F111 BEQ 0x0570
0054E 2055 TST R5
0054F F0E2 BMI 0x056C
00550 E18F LDI R24,0x1F
00551 1648 CP R4,R24
00552 F4C0 BCC 0x056B
00553 E187 LDI R24,0x17
00554 1648 CP R4,R24
00555 F0D1 BEQ 0x0570
00556 F458 BCC 0x0562
00557 9441 NEG R4
00558 EE89 LDI R24,0xE9
00559 1A48 SUB R4,R24
0055A C005 RJMP 0x0560
0055B 9535 ASR R19
0055C 9527 ROR R18
0055D 9517 ROR R17
0055E 9507 ROR R16
0055F 944A DEC R4
00560 F7D1 BNE 0x055B
00561 C00E RJMP 0x0570
00562 E187 LDI R24,0x17
00563 1A48 SUB R4,R24
00564 0F00 LSL R16
00565 1F11 ROL R17
00566 1F22 ROL R18
00567 1F33 ROL R19
00568 944A DEC R4
00569 F7D1 BNE 0x0564
0056A C005 RJMP 0x0570
0056B E73F LDI R19,0x7F
0056C 2F23 MOV R18,R19
0056D 2F13 MOV R17,R19
0056E 2F03 MOV R16,R19
0056F C004 RJMP 0x0574
00570 2066 TST R6
00571 F011 BEQ 0x0574
00572 940E 04B5 CALL neg32
00574 9189 LD R24,Y+
00575 9069 LD R6,Y+
00576 9059 LD R5,Y+
00577 9049 LD R4,Y+
00578 9508 RET
uint2fp:
00579 9468 BSET 6
0057A C001 RJMP 0x057C
int2fp:
0057B 94E8 BCLR 6
0057C 2722 CLR R18
0057D 2733 CLR R19
0057E F046 BRTS 0x0587
0057F FD17 SBRC R17,7
00580 9520 COM R18
00581 FD17 SBRC R17,7
00582 9530 COM R19
00583 C003 RJMP 0x0587
ulong2fp:
00584 9468 BSET 6
00585 C001 RJMP 0x0587
long2fp:
00586 94E8 BCLR 6
00587 924A ST -Y,R4
00588 925A ST -Y,R5
00589 926A ST -Y,R6
0058A 938A ST -Y,R24
0058B E187 LDI R24,0x17
0058C 2E48 MOV R4,R24
0058D 2455 CLR R5
0058E 2466 CLR R6
0058F F036 BRTS 0x0596
00590 2333 TST R19
00591 F422 BPL 0x0596
00592 940E 04B5 CALL neg32
00594 E880 LDI R24,0x80
00595 2E68 MOV R6,R24
00596 940E 05C6 CALL normalize_and_pack
00598 9189 LD R24,Y+
00599 9069 LD R6,Y+
0059A 9059 LD R5,Y+
0059B 9049 LD R4,Y+
0059C 9508 RET
unpacks:
0059D D00F RCALL unpacku
0059E F029 BEQ 0x05A4
0059F 2066 TST R6
005A0 F011 BEQ 0x05A3
005A1 940E 04B5 CALL neg32
005A3 9498 BCLR 1
005A4 9508 RET
tstR16_R19:
005A5 2300 TST R16
005A6 F429 BNE 0x05AC
005A7 2311 TST R17
005A8 F419 BNE 0x05AC
005A9 2322 TST R18
005AA F409 BNE 0x05AC
005AB 2333 TST R19
005AC 9508 RET
unpacku:
005AD DFF7 RCALL tstR16_R19
005AE F099 BEQ 0x05C2
005AF 938A ST -Y,R24
005B0 2E63 MOV R6,R19
005B1 E880 LDI R24,0x80
005B2 2268 AND R6,R24
005B3 0F22 LSL R18
005B4 1F33 ROL R19
005B5 2E43 MOV R4,R19
005B6 E78F LDI R24,0x7F
005B7 1A48 SUB R4,R24
005B8 2455 CLR R5
005B9 2788 CLR R24
005BA 0A58 SBC R5,R24
005BB 9526 LSR R18
005BC E830 LDI R19,0x80
005BD 2B23 OR R18,R19
005BE 2733 CLR R19
005BF 9189 LD R24,Y+
005C0 9498 BCLR 1
005C1 9508 RET
005C2 2444 CLR R4
005C3 2455 CLR R5
005C4 2466 CLR R6
005C5 9508 RET
normalize_and_pack:
005C6 DFDE RCALL tstR16_R19
005C7 F409 BNE 0x05C9
005C8 9508 RET
005C9 93AA ST -Y,R26
005CA 93BA ST -Y,R27
005CB 01D2 MOVW R26,R4
005CC 939A ST -Y,R25
005CD 938A ST -Y,R24
005CE E78E LDI R24,0x7E
005CF E090 LDI R25,0
005D0 2333 TST R19
005D1 F049 BEQ 0x05DB
005D2 9536 LSR R19
005D3 9527 ROR R18
005D4 9517 ROR R17
005D5 9507 ROR R16
005D6 17A8 CP R26,R24
005D7 07B9 CPC R27,R25
005D8 F4CC BGE 0x05F2
005D9 9611 ADIW R26,1
005DA CFF5 RJMP 0x05D0
005DB 9580 COM R24
005DC 9590 COM R25
005DD 9601 ADIW R24,1
005DE 2322 TST R18
005DF F0BA BMI 0x05F7
005E0 0F00 LSL R16
005E1 1F11 ROL R17
005E2 1F22 ROL R18
005E3 17A8 CP R26,R24
005E4 07B9 CPC R27,R25
005E5 F014 BLT 0x05E8
005E6 9711 SBIW R26,1
005E7 CFF6 RJMP 0x05DE
005E8 2700 CLR R16
005E9 2711 CLR R17
005EA 2722 CLR R18
005EB 2733 CLR R19
005EC 9189 LD R24,Y+
005ED 9199 LD R25,Y+
005EE 012D MOVW R4,R26
005EF 91B9 LD R27,Y+
005F0 91A9 LD R26,Y+
005F1 9508 RET
005F2 2733 CLR R19
005F3 EF0F LDI R16,0xFF
005F4 2F10 MOV R17,R16
005F5 E72F LDI R18,0x7F
005F6 2F32 MOV R19,R18
005F7 9189 LD R24,Y+
005F8 9199 LD R25,Y+
005F9 012D MOVW R4,R26
005FA C002 RJMP 0x05FD
pack:
005FB 93AA ST -Y,R26
005FC 93BA ST -Y,R27
005FD DFA7 RCALL tstR16_R19
005FE F049 BEQ 0x0608
005FF 01D2 MOVW R26,R4
00600 58A1 SUBI R26,0x81
00601 4FBF SBCI R27,0xFF
00602 012D MOVW R4,R26
00603 2D34 MOV R19,R4
00604 0F22 LSL R18
00605 9536 LSR R19
00606 9527 ROR R18
00607 2936 OR R19,R6
00608 91B9 LD R27,Y+
00609 91A9 LD R26,Y+
0060A 9508 RET
saveFPRegs:
0060B 924A ST -Y,R4
0060C 925A ST -Y,R5
0060D 926A ST -Y,R6
0060E 927A ST -Y,R7
0060F 928A ST -Y,R8
00610 929A ST -Y,R9
00611 92AA ST -Y,R10
00612 92BA ST -Y,R11
00613 92CA ST -Y,R12
00614 92DA ST -Y,R13
00615 92EA ST -Y,R14
00616 92FA ST -Y,R15
00617 938A ST -Y,R24
00618 939A ST -Y,R25
00619 9508 RET
restoreFPRegs:
0061A 9199 LD R25,Y+
0061B 9189 LD R24,Y+
0061C 90F9 LD R15,Y+
0061D 90E9 LD R14,Y+
0061E 90D9 LD R13,Y+
0061F 90C9 LD R12,Y+
00620 90B9 LD R11,Y+
00621 90A9 LD R10,Y+
00622 9099 LD R9,Y+
00623 9089 LD R8,Y+
00624 9079 LD R7,Y+
00625 9069 LD R6,Y+
00626 9059 LD R5,Y+
00627 9049 LD R4,Y+
00628 9508 RET
fpmule:
00629 940E 060B CALL saveFPRegs
0062B 93AA ST -Y,R26
0062C 93BA ST -Y,R27
0062D 940E 05AD CALL unpacku
0062F F1E1 BEQ 0x066C
00630 2CE6 MOV R14,R6
00631 2CD5 MOV R13,R5
00632 2CC4 MOV R12,R4
00633 2EB3 MOV R11,R19
00634 2EA2 MOV R10,R18
00635 2E91 MOV R9,R17
00636 2E80 MOV R8,R16
00637 8100 LD R16,Z
00638 8111 LDD R17,Z+1
00639 8122 LDD R18,Z+2
0063A 8133 LDD R19,Z+3
0063B 940E 05AD CALL unpacku
0063D F171 BEQ 0x066C
0063E 246E EOR R6,R14
0063F 0C4C ADD R4,R12
00640 1C5D ADC R5,R13
00641 E880 LDI R24,0x80
00642 1648 CP R4,R24
00643 0653 CPC R5,R19
00644 F564 BGE 0x0671
00645 E881 LDI R24,0x81
00646 1648 CP R4,R24
00647 EF8F LDI R24,0xFF
00648 0658 CPC R5,R24
00649 F16C BLT 0x0677
0064A 9EA2 MUL R10,R18
0064B 2DB1 MOV R27,R1
0064C 2DA0 MOV R26,R0
0064D 9E91 MUL R9,R17
0064E 2D91 MOV R25,R1
0064F 2D80 MOV R24,R0
00650 9EA0 MUL R10,R16
00651 0D80 ADD R24,R0
00652 1D91 ADC R25,R1
00653 1FA3 ADC R26,R19
00654 1FB3 ADC R27,R19
00655 9E82 MUL R8,R18
00656 0D80 ADD R24,R0
00657 1D91 ADC R25,R1
00658 1FA3 ADC R26,R19
00659 1FB3 ADC R27,R19
0065A 9E92 MUL R9,R18
0065B 0D90 ADD R25,R0
0065C 1DA1 ADC R26,R1
0065D 1FB3 ADC R27,R19
0065E 9EA1 MUL R10,R17
0065F 0D90 ADD R25,R0
00660 1DA1 ADC R26,R1
00661 1FB3 ADC R27,R19
00662 2F2B MOV R18,R27
00663 2F1A MOV R17,R26
00664 2F09 MOV R16,R25
00665 0F88 LSL R24
00666 1F00 ROL R16
00667 1F11 ROL R17
00668 1F22 ROL R18
00669 1F33 ROL R19
0066A 940E 05C6 CALL normalize_and_pack
0066C 91B9 LD R27,Y+
0066D 91A9 LD R26,Y+
0066E 940E 061A CALL restoreFPRegs
00670 9508 RET
00671 EF0F LDI R16,0xFF
00672 2F10 MOV R17,R16
00673 E72F LDI R18,0x7F
00674 E78F LDI R24,0x7F
00675 2E48 MOV R4,R24
00676 CFF5 RJMP 0x066C
00677 2700 CLR R16
00678 2F10 MOV R17,R16
00679 2F20 MOV R18,R16
0067A 2F30 MOV R19,R16
0067B CFF0 RJMP 0x066C
fpmule1:
0067C 93FA ST -Y,R31
0067D 93EA ST -Y,R30
0067E 81EA LDD R30,Y+2
0067F 81FB LDD R31,Y+3
00680 940E 0629 CALL fpmule
00682 91E9 LD R30,Y+
00683 91F9 LD R31,Y+
00684 9622 ADIW R28,2
00685 9508 RET
fpmule2:
00686 93FA ST -Y,R31
00687 93EA ST -Y,R30
00688 2FEC MOV R30,R28
00689 2FFD MOV R31,R29
0068A 9632 ADIW R30,2
0068B 940E 0629 CALL fpmule
0068D 91E9 LD R30,Y+
0068E 91F9 LD R31,Y+
0068F 9624 ADIW R28,4
00690 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -