1602.lst
来自「10K到5MHz的频率测量」· LST 代码 · 共 1,887 行 · 第 1/4 页
LST
1,887 行
487 9541 NEG R20
488 5E49 SUBI R20,0xE9
489 C005 RJMP 0x048F
48A 9535 ASR R19
48B 9527 ROR R18
48C 9517 ROR R17
48D 9507 ROR R16
48E 954A DEC R20
48F F7D1 BNE 0x048A
490 C00D RJMP 0x049E
491 5147 SUBI R20,0x17
492 0F00 LSL R16
493 1F11 ROL R17
494 1F22 ROL R18
495 1F33 ROL R19
496 954A DEC R20
497 F7D1 BNE 0x0492
498 C005 RJMP 0x049E
499 E73F LDI R19,0x7F
49A 2F23 MOV R18,R19
49B 2F13 MOV R17,R19
49C 2F03 MOV R16,R19
49D C004 RJMP 0x04A2
49E 2366 TST R22
49F F011 BEQ 0x04A2
4A0 940E 0438 CALL neg32
4A2 9169 LD R22,Y+
4A3 9159 LD R21,Y+
4A4 9149 LD R20,Y+
4A5 9508 RET
uint2fp:
4A6 9468 BSET 6
4A7 C001 RJMP 0x04A9
int2fp:
4A8 94E8 BCLR 6
4A9 2722 CLR R18
4AA 2733 CLR R19
4AB F046 BRTS 0x04B4
4AC FD17 SBRC R17,7
4AD 9520 COM R18
4AE FD17 SBRC R17,7
4AF 9530 COM R19
4B0 C003 RJMP 0x04B4
ulong2fp:
4B1 9468 BSET 6
4B2 C001 RJMP 0x04B4
long2fp:
4B3 94E8 BCLR 6
4B4 934A ST R20,-Y
4B5 935A ST R21,-Y
4B6 936A ST R22,-Y
4B7 E147 LDI R20,0x17
4B8 2766 CLR R22
4B9 2755 CLR R21
4BA F02E BRTS 0x04C0
4BB 2333 TST R19
4BC F41A BPL 0x04C0
4BD 940E 0438 CALL neg32
4BF E860 LDI R22,0x80
4C0 940E 059B CALL normalize_and_pack
4C2 9169 LD R22,Y+
4C3 9159 LD R21,Y+
4C4 9149 LD R20,Y+
4C5 9508 RET
fpdiv1:
4C6 93FA ST R31,-Y
4C7 93EA ST R30,-Y
4C8 81EA LDD R30,Y+2
4C9 81FB LDD R31,Y+3
4CA D027 RCALL 0x04F2
4CB 91E9 LD R30,Y+
4CC 91F9 LD R31,Y+
4CD 9622 ADIW R28,2
4CE 9508 RET
fpdiv2:
4CF 93FA ST R31,-Y
4D0 93EA ST R30,-Y
4D1 2FEC MOV R30,R28
4D2 2FFD MOV R31,R29
4D3 9632 ADIW R30,2
4D4 D01D RCALL 0x04F2
4D5 91E9 LD R30,Y+
4D6 91F9 LD R31,Y+
4D7 9624 ADIW R28,4
4D8 9508 RET
fpdiv1x:
4D9 93FA ST R31,-Y
4DA 93EA ST R30,-Y
4DB 81EA LDD R30,Y+2
4DC 81FB LDD R31,Y+3
4DD D014 RCALL 0x04F2
4DE 91E9 LD R30,Y+
4DF 91F9 LD R31,Y+
4E0 8339 STD Y+1,R19
4E1 8328 STD Y+0,R18
4E2 931A ST R17,-Y
4E3 930A ST R16,-Y
4E4 9508 RET
fpdiv2x:
4E5 93FA ST R31,-Y
4E6 93EA ST R30,-Y
4E7 2FEC MOV R30,R28
4E8 2FFD MOV R31,R29
4E9 9632 ADIW R30,2
4EA D007 RCALL 0x04F2
4EB 91E9 LD R30,Y+
4EC 91F9 LD R31,Y+
4ED 833B STD Y+3,R19
4EE 832A STD Y+2,R18
4EF 8319 STD Y+1,R17
4F0 8308 STD Y+0,R16
4F1 9508 RET
4F2 924A ST R4,-Y
4F3 925A ST R5,-Y
4F4 926A ST R6,-Y
4F5 927A ST R7,-Y
4F6 928A ST R8,-Y
4F7 929A ST R9,-Y
4F8 92AA ST R10,-Y
4F9 92BA ST R11,-Y
4FA 92CA ST R12,-Y
4FB 92DA ST R13,-Y
4FC 92EA ST R14,-Y
4FD 92FA ST R15,-Y
4FE 934A ST R20,-Y
4FF 935A ST R21,-Y
500 936A ST R22,-Y
501 937A ST R23,-Y
502 938A ST R24,-Y
503 939A ST R25,-Y
504 933A ST R19,-Y
505 932A ST R18,-Y
506 931A ST R17,-Y
507 930A ST R16,-Y
508 8100 LDD R16,Z+0
509 8111 LDD R17,Z+1
50A 8122 LDD R18,Z+2
50B 8133 LDD R19,Z+3
50C 940E 0586 CALL unpacku
50E F409 BNE 0x0510
50F C061 RJMP 0x0571
510 2EE6 MOV R14,R22
511 2ED5 MOV R13,R21
512 2EC4 MOV R12,R20
513 2EB3 MOV R11,R19
514 2EA2 MOV R10,R18
515 2E91 MOV R9,R17
516 2E80 MOV R8,R16
517 9109 LD R16,Y+
518 9119 LD R17,Y+
519 9129 LD R18,Y+
51A 9139 LD R19,Y+
51B 940E 0586 CALL unpacku
51D F191 BEQ 0x0550
51E 256E EOR R22,R14
51F 194C SUB R20,R12
520 095D SBC R21,R13
521 3840 CPI R20,0x80
522 0753 CPC R21,R19
523 F00C BLT 0x0525
524 C03E RJMP 0x0563
525 3841 CPI R20,0x81
526 EF7F LDI R23,0xFF
527 0757 CPC R21,R23
528 F40C BGE 0x052A
529 C042 RJMP 0x056C
52A E280 LDI R24,0x20
52B 2477 CLR R7
52C 2E63 MOV R6,R19
52D 2E52 MOV R5,R18
52E 2E41 MOV R4,R17
52F 2F30 MOV R19,R16
530 2722 CLR R18
531 2711 CLR R17
532 2700 CLR R16
533 9466 LSR R6
534 9457 ROR R5
535 9447 ROR R4
536 9537 ROR R19
537 9527 ROR R18
538 0F00 LSL R16
539 1F11 ROL R17
53A 1F22 ROL R18
53B 1F33 ROL R19
53C 1C44 ROL R4
53D 1C55 ROL R5
53E 1C66 ROL R6
53F 1C77 ROL R7
540 F028 BCS 0x0546
541 1848 SUB R4,R8
542 0859 SBC R5,R9
543 086A SBC R6,R10
544 087B SBC R7,R11
545 C004 RJMP 0x054A
546 0C48 ADD R4,R8
547 1C59 ADC R5,R9
548 1C6A ADC R6,R10
549 1C7B ADC R7,R11
54A F00A BMI 0x054C
54B 6001 ORI R16,1
54C 958A DEC R24
54D F751 BNE 0x0538
54E 940E 059B CALL normalize_and_pack
550 9199 LD R25,Y+
551 9189 LD R24,Y+
552 9179 LD R23,Y+
553 9169 LD R22,Y+
554 9159 LD R21,Y+
555 9149 LD R20,Y+
556 90F9 LD R15,Y+
557 90E9 LD R14,Y+
558 90D9 LD R13,Y+
559 90C9 LD R12,Y+
55A 90B9 LD R11,Y+
55B 90A9 LD R10,Y+
55C 9099 LD R9,Y+
55D 9089 LD R8,Y+
55E 9079 LD R7,Y+
55F 9069 LD R6,Y+
560 9059 LD R5,Y+
561 9049 LD R4,Y+
562 9508 RET
563 EF0F LDI R16,0xFF
564 2F10 MOV R17,R16
565 E72F LDI R18,0x7F
566 E73F LDI R19,0x7F
567 2366 TST R22
568 F339 BEQ 0x0550
569 940E 0438 CALL neg32
56B CFE4 RJMP 0x0550
56C 2700 CLR R16
56D 2F10 MOV R17,R16
56E 2F20 MOV R18,R16
56F 2F30 MOV R19,R16
570 CFDF RJMP 0x0550
571 9109 LD R16,Y+
572 9119 LD R17,Y+
573 9129 LD R18,Y+
574 9139 LD R19,Y+
575 CFED RJMP 0x0563
unpacks:
576 D00F RCALL unpacku
577 F029 BEQ 0x057D
578 2366 TST R22
579 F011 BEQ 0x057C
57A 940E 0438 CALL neg32
57C 9498 BCLR 1
57D 9508 RET
tstR16_R19:
57E 2300 TST R16
57F F429 BNE 0x0585
580 2311 TST R17
581 F419 BNE 0x0585
582 2322 TST R18
583 F409 BNE 0x0585
584 2333 TST R19
585 9508 RET
unpacku:
586 DFF7 RCALL tstR16_R19
587 F079 BEQ 0x0597
588 2F63 MOV R22,R19
589 7860 ANDI R22,0x80
58A 0F22 LSL R18
58B 1F33 ROL R19
58C 2F43 MOV R20,R19
58D E75F LDI R21,0x7F
58E 1B45 SUB R20,R21
58F 2755 CLR R21
590 4050 SBCI R21,0
591 9526 LSR R18
592 E830 LDI R19,0x80
593 2B23 OR R18,R19
594 2733 CLR R19
595 9498 BCLR 1
596 9508 RET
597 2744 CLR R20
598 2755 CLR R21
599 2766 CLR R22
59A 9508 RET
normalize_and_pack:
59B DFE2 RCALL tstR16_R19
59C F121 BEQ 0x05C1
59D 939A ST R25,-Y
59E 938A ST R24,-Y
59F E78E LDI R24,0x7E
5A0 E090 LDI R25,0
5A1 2333 TST R19
5A2 F051 BEQ 0x05AD
5A3 9536 LSR R19
5A4 9527 ROR R18
5A5 9517 ROR R17
5A6 9507 ROR R16
5A7 1748 CP R20,R24
5A8 0759 CPC R21,R25
5A9 F4C4 BGE 0x05C2
5AA 5F4F SUBI R20,0xFF
5AB 4F5F SBCI R21,0xFF
5AC CFF4 RJMP 0x05A1
5AD 9580 COM R24
5AE 9590 COM R25
5AF 9601 ADIW R24,1
5B0 2322 TST R18
5B1 F0AA BMI 0x05C7
5B2 0F00 LSL R16
5B3 1F11 ROL R17
5B4 1F22 ROL R18
5B5 1748 CP R20,R24
5B6 0759 CPC R21,R25
5B7 F01C BLT 0x05BB
5B8 5041 SUBI R20,1
5B9 4050 SBCI R21,0
5BA CFF5 RJMP 0x05B0
5BB 2700 CLR R16
5BC 2711 CLR R17
5BD 2722 CLR R18
5BE 2733 CLR R19
5BF 9189 LD R24,Y+
5C0 9199 LD R25,Y+
5C1 9508 RET
5C2 2733 CLR R19
5C3 EF0F LDI R16,0xFF
5C4 2F10 MOV R17,R16
5C5 E72F LDI R18,0x7F
5C6 2F32 MOV R19,R18
5C7 9189 LD R24,Y+
5C8 9199 LD R25,Y+
pack:
5C9 DFB4 RCALL tstR16_R19
5CA F039 BEQ 0x05D2
5CB 5841 SUBI R20,0x81
5CC 4F5F SBCI R21,0xFF
5CD 2F34 MOV R19,R20
5CE 0F22 LSL R18
5CF 9536 LSR R19
5D0 9527 ROR R18
5D1 2B36 OR R19,R22
5D2 9508 RET
fpneg:
5D3 DFAA RCALL tstR16_R19
5D4 F021 BEQ 0x05D9
5D5 930F PUSH R16
5D6 E800 LDI R16,0x80
5D7 2730 EOR R19,R16
5D8 910F POP R16
5D9 9508 RET
fpneg2:
5DA DFF8 RCALL fpneg
5DB 933A ST R19,-Y
5DC 932A ST R18,-Y
5DD 931A ST R17,-Y
5DE 930A ST R16,-Y
5DF 9508 RET
saveR8toR25:
5E0 928A ST R8,-Y
5E1 929A ST R9,-Y
5E2 92AA ST R10,-Y
5E3 92BA ST R11,-Y
5E4 92CA ST R12,-Y
5E5 92DA ST R13,-Y
5E6 92EA ST R14,-Y
5E7 92FA ST R15,-Y
5E8 934A ST R20,-Y
5E9 935A ST R21,-Y
5EA 936A ST R22,-Y
5EB 937A ST R23,-Y
5EC 938A ST R24,-Y
5ED 939A ST R25,-Y
5EE 9508 RET
restoreR8toR25:
5EF 9199 LD R25,Y+
5F0 9189 LD R24,Y+
5F1 9179 LD R23,Y+
5F2 9169 LD R22,Y+
5F3 9159 LD R21,Y+
5F4 9149 LD R20,Y+
5F5 90F9 LD R15,Y+
5F6 90E9 LD R14,Y+
5F7 90D9 LD R13,Y+
5F8 90C9 LD R12,Y+
5F9 90B9 LD R11,Y+
5FA 90A9 LD R10,Y+
5FB 9099 LD R9,Y+
5FC 9089 LD R8,Y+
5FD 9508 RET
fpmule:
5FE 940E 05E0 CALL saveR8toR25
600 93AA ST R26,-Y
601 93BA ST R27,-Y
602 940E 0586 CALL unpacku
604 F1D1 BEQ 0x063F
605 2EE6 MOV R14,R22
606 2ED5 MOV R13,R21
607 2EC4 MOV R12,R20
608 2EB3 MOV R11,R19
609 2EA2 MOV R10,R18
60A 2E91 MOV R9,R17
60B 2E80 MOV R8,R16
60C 8100 LDD R16,Z+0
60D 8111 LDD R17,Z+1
60E 8122 LDD R18,Z+2
60F 8133 LDD R19,Z+3
610 940E 0586 CALL unpacku
612 F161 BEQ 0x063F
613 256E EOR R22,R14
614 0D4C ADD R20,R12
615 1D5D ADC R21,R13
616 3840 CPI R20,0x80
617 0753 CPC R21,R19
618 F55C BGE 0x0644
619 3841 CPI R20,0x81
61A EF7F LDI R23,0xFF
61B 0757 CPC R21,R23
61C F164 BLT 0x0649
61D 9EA2 MUL R10,R18
61E 2DB1 MOV R27,R1
61F 2DA0 MOV R26,R0
620 9E91 MUL R9,R17
621 2D91 MOV R25,R1
622 2D80 MOV R24,R0
623 9EA0 MUL R10,R16
624 0D80 ADD R24,R0
625 1D91 ADC R25,R1
626 1FA3 ADC R26,R19
627 1FB3 ADC R27,R19
628 9E82 MUL R8,R18
629 0D80 ADD R24,R0
62A 1D91 ADC R25,R1
62B 1FA3 ADC R26,R19
62C 1FB3 ADC R27,R19
62D 9E92 MUL R9,R18
62E 0D90 ADD R25,R0
62F 1DA1 ADC R26,R1
630 1FB3 ADC R27,R19
631 9EA1 MUL R10,R17
632 0D90 ADD R25,R0
633 1DA1 ADC R26,R1
634 1FB3 ADC R27,R19
635 2F2B MOV R18,R27
636 2F1A MOV R17,R26
637 2F09 MOV R16,R25
638 0F88 LSL R24
639 1F00 ROL R16
63A 1F11 ROL R17
63B 1F22 ROL R18
63C 1F33 ROL R19
63D 940E 059B CALL normalize_and_pack
63F 91B9 LD R27,Y+
640 91A9 LD R26,Y+
641 940E 05EF CALL restoreR8toR25
643 9508 RET
644 EF0F LDI R16,0xFF
645 2F10 MOV R17,R16
646 E72F LDI R18,0x7F
647 E74F LDI R20,0x7F
648 CFF6 RJMP 0x063F
649 2700 CLR R16
64A 2F10 MOV R17,R16
64B 2F20 MOV R18,R16
64C 2F30 MOV R19,R16
64D CFF1 RJMP 0x063F
fpmule1:
64E 93FA ST R31,-Y
64F 93EA ST R30,-Y
650 81EA LDD R30,Y+2
651 81FB LDD R31,Y+3
652 940E 05FE CALL fpmule
654 91E9 LD R30,Y+
655 91F9 LD R31,Y+
656 9622 ADIW R28,2
657 9508 RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?