📄 rtc.lst
字号:
00a4 0000000c 597 .long 0xc
00a8 0000008a 598 .long DBG45
00ac 0000000d 599 .long 0xd
00b0 00000096 600 .long DBG46
00b4 0000000e 601 .long 0xe
00b8 00000096 602 .long DBG47
00bc 0000000f 603 .long 0xf
00c0 0000009a 604 .long DBG48
00c4 00000010 605 .long 0x10
00c8 0000009e 606 .long DBG49
00cc 00000011 607 .long 0x11
00d0 0000009e 608 .long DBG50
00d4 00000012 609 .long 0x12
00d8 000000a2 610 .long DBG51
00dc 00000013 611 .long 0x13
00e0 000000b0 612 .long DBG52
00e4 00000014 613 .long 0x14
00e8 000000b0 614 .long DBG53
00ec 00000015 615 .long 0x15
00f0 000000b4 616 .long DBG54
00f4 00000016 617 .long 0x16
00f8 000000ba 618 .long DBG55
00fc 00000017 619 .long 0x17
0100 000000ba 620 .long DBG56
0104 00000018 621 .long 0x18
0108 000000be 622 .long DBG57
010c 0000001b 623 .long 0x1b
0110 000000e0 624 .long DBG58
0114 0000001c 625 .long 0x1c
0118 000000e0 626 .long DBG59
011c 0000001d 627 .long 0x1d
0120 000000e4 628 .long DBG60
0124 0000001e 629 .long 0x1e
0128 000000e8 630 .long DBG61
012c 0000001f 631 .long 0x1f
0130 000000ec 632 .long DBG62
0134 00000020 633 .long 0x20
0138 000000ec 634 .long DBG63
013c 00000021 635 .long 0x21
0140 000000f0 636 .long DBG64
0144 00000022 637 .long 0x22
0148 00000100 638 .long DBG65
014c 00000023 639 .long 0x23
0150 00000100 640 .long DBG66
0154 00000024 641 .long 0x24
0158 00000104 642 .long DBG67
015c 00000025 643 .long 0x25
0160 0000010a 644 .long DBG68
0164 00000026 645 .long 0x26
0168 0000010a 646 .long DBG69
016c 00000027 647 .long 0x27
0170 0000010e 648 .long DBG70
0174 00000028 649 .long 0x28
0178 00000112 650 .long DBG71
017c 00000029 651 .long 0x29
0180 00000116 652 .long DBG72
0184 0000002a 653 .long 0x2a
0188 0000011a 654 .long DBG73
018c 0000002b 655 .long 0x2b
656 .pseg rtc_code
657 .global _bump_rtc
658 _bump_rtc:
659 ; ENTRY
660 DBG35:
661 ; {
662 DBG36:
663 ; if (!check_rtc_sumcheck())
664 DBG37:
0062 b0122000 665 call #_check_rtc_sumcheck
0066 0c93 666 cmp #0x0,r12
0068 0220 667 jne bump_rtc_L1
668 DBG38:
669 ; return 0 ;
006a 0c43 670 mov #0x0,r12
006c 563c 671 jmp bump_rtc_LL2
672 DBG39:
673 bump_rtc_L1:
674 ; if ( ++rtc.second < 60)
006e 7c403c00 675 mov.b #0x3c,r12
0072 d2530000 676 add.b #0x1,&_rtc
0076 5d420000 677 mov.b &_rtc,r13
007a 4d9c 678 cmp.b r12,r13
007c 042c 679 jc bump_rtc_L2
680 DBG41:
681 DBG40:
682 ; {
683 ; set_rtc_sumcheck();
007e b0120000 684 call #_set_rtc_sumcheck
685 DBG42:
686 ; return 1 ;
0082 1c43 687 mov #0x1,r12
0084 4a3c 688 jmp bump_rtc_LL2
689 DBG44:
690 DBG43:
691 ; }
692 bump_rtc_L2:
693 ; rtc.second = 0;
0086 c2430000 694 mov.b #0x0,&_rtc
695 DBG45:
696 ; if ( ++rtc.minute < 60)
008a d2530100 697 add.b #0x1,&_rtc+0x1
008e 5d420100 698 mov.b &_rtc+0x1,r13
0092 4d9c 699 cmp.b r12,r13
0094 042c 700 jc bump_rtc_L3
701 DBG47:
702 DBG46:
703 ; {
704 ; set_rtc_sumcheck();
0096 b0120000 705 call #_set_rtc_sumcheck
706 DBG48:
707 ; return 2 ;
009a 2c43 708 mov #0x2,r12
009c 3e3c 709 jmp bump_rtc_LL2
710 DBG50:
711 DBG49:
712 ; }
713 bump_rtc_L3:
714 ; rtc.minute = 0;
009e c2430100 715 mov.b #0x0,&_rtc+0x1
716 DBG51:
717 ; if ( ++rtc.hour < 24)
00a2 d2530200 718 add.b #0x1,&_rtc+0x2
00a6 5c420200 719 mov.b &_rtc+0x2,r12
00aa 7c901800 720 cmp.b #0x18,r12
00ae 052c 721 jc bump_rtc_L4
722 DBG53:
723 DBG52:
724 ; {
725 ; set_rtc_sumcheck();
00b0 b0120000 726 call #_set_rtc_sumcheck
727 DBG54:
728 ; return 3 ;
00b4 3c400300 729 mov #0x3,r12
00b8 303c 730 jmp bump_rtc_LL2
731 DBG56:
732 DBG55:
733 ; }
734 bump_rtc_L4:
735 ; rtc.hour = 0;
00ba c2430200 736 mov.b #0x0,&_rtc+0x2
737 DBG57:
738 ; if ((rtc.month == 2 && (rtc.year & 3) == 0 && rtc.day < 29)
739 ; ||
00be e2930500 740 cmp.b #0x2,&_rtc+0x5
00c2 0820 741 jne bump_rtc_L7
00c4 f2b003000600 742 bit.b #0x3,&_rtc+0x6
00ca 0420 743 jne bump_rtc_L7
00cc f2901d000300 744 cmp.b #0x1d,&_rtc+0x3
00d2 0628 745 jnc bump_rtc_L6
746 bump_rtc_L7:
00d4 5c420500 747 mov.b &_rtc+0x5,r12
00d8 d29c00000300 748 cmp.b _month_lengths(r12),&_rtc+0x3
00de 062c 749 jc bump_rtc_L5
750 bump_rtc_L6:
751 ; rtc.day < month_lengths[rtc.month])
752 ; {
753 DBG58:
754 ; ++rtc.day;
755 DBG59:
00e0 d2530300 756 add.b #0x1,&_rtc+0x3
757 DBG60:
758 ; set_rtc_sumcheck();
00e4 b0120000 759 call #_set_rtc_sumcheck
760 DBG61:
761 ; return 4 ;
00e8 2c42 762 mov #0x4,r12
00ea 173c 763 jmp bump_rtc_LL2
764 DBG63:
765 DBG62:
766 ; }
767 bump_rtc_L5:
768 ; rtc.day = 1;
00ec d2430300 769 mov.b #0x1,&_rtc+0x3
770 DBG64:
771 ; if ( ++rtc.month <= 12)
00f0 7d400c00 772 mov.b #0xc,r13
00f4 d2530500 773 add.b #0x1,&_rtc+0x5
00f8 5c420500 774 mov.b &_rtc+0x5,r12
00fc 4d9c 775 cmp.b r12,r13
00fe 0528 776 jnc bump_rtc_L8
777 DBG66:
778 DBG65:
779 ; {
780 ; set_rtc_sumcheck();
0100 b0120000 781 call #_set_rtc_sumcheck
782 DBG67:
783 ; return 5 ;
0104 3c400500 784 mov #0x5,r12
0108 083c 785 jmp bump_rtc_LL2
786 DBG69:
787 DBG68:
788 ; }
789 bump_rtc_L8:
790 ; rtc.month = 1;
010a d2430500 791 mov.b #0x1,&_rtc+0x5
792 DBG70:
793 ; ++rtc.year;
010e d2530600 794 add.b #0x1,&_rtc+0x6
795 DBG71:
796 ; set_rtc_sumcheck();
0112 b0120000 797 call #_set_rtc_sumcheck
798 DBG72:
799 ; return 6 ;
0116 3c400600 800 mov #0x6,r12
801 DBG73:
802 bump_rtc_LL2:
803 ; EXIT
804 DBG74:
011a 3041 805 ret
806 .dbgseg dbg_syms
0208 00000000 807 .long 0x0
020c 000000bc 808 .long DBG17
0210 00000000 809 .long 0x0
0214 00000000 810 .long 0x0
0218 00010002 811 .long 0x10002
021c 00000000 812 .long 0x0
0220 000002bc 813 .long DBG18
0224 00000002 814 .long 0x2
0228 00000000 815 .long 0x0
022c 00010002 816 .long 0x10002
0230 504e5f5f 817 .long 0x504e5f5f
0234 534d5241 818 .long 0x534d5241
0238 00000000 819 .long 0x0
023c 00000000 820 .long 0x0
0240 00010002 821 .long 0x10002
0244 0066652e 822 .long 0x66652e
0248 00000000 823 .long 0x0
024c 0000011a 824 .long DBG74
0250 00000000 825 .long 0x0
0254 01650001 826 .long 0x1650001
0258 00000000 827 .long 0x0
025c 0000005f 828 .long 0x5f
0260 00000000 829 .long 0x0
0264 00000000 830 .long 0x0
0268 00000000 831 .long 0x0
832 .pseg rtc_code
833 DBG31:
834 .dbgseg dbg_syms
026c 706d7562 835 .long 0x706d7562
0270 6374725f 836 .long 0x6374725f
0274 0000011c 837 .long DBG31
0278 00000000 838 .long 0x0
027c 00ff0001 839 .long 0xff0001
840 ; }
841 ; int weekday(void)
842 DBG30:
0280 6b656577 843 .long 0x6b656577
0284 00796164 844 .long 0x796164
0288 0000011c 845 .long _weekday
028c 00000044 846 .long 0x44
0290 01020001 847 .long 0x1020001
0294 000002a8 848 .long DBG34
0298 00000054 849 .long DBG76-DBG77
029c 00000190 850 .long DBG78
02a0 000004d8 851 .long DBG75
02a4 00000000 852 .long 0x0
853 .pseg rtc_code
854 DBG77:
855 .dbgseg dbg_syms
856 DBG34:
02a8 0066622e 857 .long 0x66622e
02ac 00000000 858 .long 0x0
02b0 0000011c 859 .long DBG77
02b4 00000000 860 .long 0x0
02b8 01650001 861 .long 0x1650001
02bc 00000000 862 .long 0x0
02c0 00000064 863 .long 0x64
02c4 00000000 864 .long 0x0
02c8 00000500 865 .long DBG79
02cc 00000000 866 .long 0x0
867 .dbgseg dbg_line
868 DBG78:
0190 00000280 869 .long DBG30
0194 00000000 870 .long 0x0
0198 0000011c 871 .long _weekday
019c 00000001 872 .long 0x1
01a0 0000011c 873 .long DBG81
01a4 00000002 874 .long 0x2
01a8 0000011c 875 .long DBG82
01ac 00000009 876 .long 0x9
01b0 00000124 877 .long DBG83
01b4 0000000b 878 .long 0xb
01b8 0000012e 879 .long DBG84
01bc 0000000c 880 .long 0xc
01c0 00000140 881 .long DBG85
01c4 0000000e 882 .long 0xe
01c8 00000150 883 .long DBG86
01cc 0000000f 884 .long 0xf
01d0 00000152 885 .long DBG87
01d4 00000011 886 .long 0x11
01d8 00000158 887 .long DBG88
01dc 00000013 888 .long 0x13
01e0 00000164 889 .long DBG89
01e4 00000014 890 .long 0x14
01e8 0000016c 891 .long DBG90
01ec 00000015 892 .long 0x15
01f0 0000016e 893 .long DBG91
01f4 00000016 894 .long 0x16
895 .pseg rtc_code
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -