📄 ds1302.lst
字号:
691 0338 0FB6 in __tmp_reg__,__SREG__
692 033a 0F92 push __tmp_reg__
693 033c 1124 clr __zero_reg__
694 033e 2F93 push r18
695 0340 3F93 push r19
696 0342 4F93 push r20
697 0344 5F93 push r21
698 0346 6F93 push r22
699 0348 7F93 push r23
700 034a 8F93 push r24
701 034c 9F93 push r25
702 034e AF93 push r26
703 0350 BF93 push r27
704 0352 CF93 push r28
705 0354 EF93 push r30
706 0356 FF93 push r31
707 /* prologue end (size=18) */
708 .LM120:
709 0358 80B3 in r24,48-0x20
710 .LM121:
711 035a 807F andi r24,lo8(-16)
712 035c 09F0 breq .L87
713 .LM122:
714 035e C82F mov r28,r24
715 .L87:
716 .LM123:
717 0360 80B3 in r24,48-0x20
718 .LM124:
719 0362 807F andi r24,lo8(-16)
720 0364 E9F7 brne .L87
721 .LM125:
722 0366 80E0 ldi r24,lo8(0)
723 0368 90E0 ldi r25,hi8(0)
724 036a C031 cpi r28,lo8(16)
725 036c 11F4 brne .L92
726 036e 81E0 ldi r24,lo8(1)
727 0370 90E0 ldi r25,hi8(1)
728 .L92:
729 0372 20E0 ldi r18,lo8(0)
730 0374 30E0 ldi r19,hi8(0)
731 0376 4091 0000 lds r20,modify_state
732 037a 4423 tst r20
733 037c 11F4 brne .L93
734 037e 21E0 ldi r18,lo8(1)
735 0380 30E0 ldi r19,hi8(1)
736 .L93:
737 0382 8223 and r24,r18
738 0384 9323 and r25,r19
739 0386 892B or r24,r25
740 0388 51F0 breq .L91
741 .LM126:
742 038a 8091 0000 lds r24,dsp_state
743 038e 8F5F subi r24,lo8(-(1))
744 0390 8093 0000 sts dsp_state,r24
745 .LM127:
746 0394 8430 cpi r24,lo8(4)
747 0396 18F0 brlo .L91
748 .LM128:
749 0398 81E0 ldi r24,lo8(1)
750 039a 8093 0000 sts dsp_state,r24
751 .L91:
752 .LM129:
753 039e 80E0 ldi r24,lo8(0)
754 03a0 90E0 ldi r25,hi8(0)
755 03a2 C032 cpi r28,lo8(32)
756 03a4 11F4 brne .L96
757 03a6 81E0 ldi r24,lo8(1)
758 03a8 90E0 ldi r25,hi8(1)
759 .L96:
760 03aa 20E0 ldi r18,lo8(0)
761 03ac 30E0 ldi r19,hi8(0)
762 03ae 4423 tst r20
763 03b0 11F0 breq .L97
764 03b2 21E0 ldi r18,lo8(1)
765 03b4 30E0 ldi r19,hi8(1)
766 .L97:
767 03b6 8223 and r24,r18
768 03b8 9323 and r25,r19
769 03ba 892B or r24,r25
770 03bc B1F0 breq .L95
771 .LM130:
772 03be 8091 0000 lds r24,modify_bit
773 03c2 A82F mov r26,r24
774 03c4 BB27 clr r27
775 03c6 FD01 movw r30,r26
776 03c8 E050 subi r30,lo8(-(bcd_dsp))
777 03ca F040 sbci r31,hi8(-(bcd_dsp))
778 03cc 8081 ld r24,Z
779 03ce 8F5F subi r24,lo8(-(1))
780 03d0 8083 st Z,r24
781 .LM131:
782 03d2 8A30 cpi r24,lo8(10)
783 03d4 08F0 brlo .L98
784 03d6 1082 st Z,__zero_reg__
785 .L98:
786 .LM132:
787 03d8 A050 subi r26,lo8(-(dsp))
788 03da B040 sbci r27,hi8(-(dsp))
789 03dc 8081 ld r24,Z
790 03de E82F mov r30,r24
791 03e0 FF27 clr r31
792 03e2 E050 subi r30,lo8(-(led))
793 03e4 F040 sbci r31,hi8(-(led))
794 03e6 8081 ld r24,Z
795 03e8 8C93 st X,r24
796 .L95:
797 .LM133:
798 03ea 80E0 ldi r24,lo8(0)
799 03ec 90E0 ldi r25,hi8(0)
800 03ee C034 cpi r28,lo8(64)
801 03f0 11F4 brne .L100
802 03f2 81E0 ldi r24,lo8(1)
803 03f4 90E0 ldi r25,hi8(1)
804 .L100:
805 03f6 20E0 ldi r18,lo8(0)
806 03f8 30E0 ldi r19,hi8(0)
807 03fa 4423 tst r20
808 03fc 11F0 breq .L101
809 03fe 21E0 ldi r18,lo8(1)
810 0400 30E0 ldi r19,hi8(1)
811 .L101:
812 0402 8223 and r24,r18
813 0404 9323 and r25,r19
814 0406 892B or r24,r25
815 0408 09F4 brne .+2
816 040a FFC0 rjmp .L99
817 .LM134:
818 040c 4330 cpi r20,lo8(3)
819 040e A1F5 brne .L102
820 .LM135:
821 0410 8091 0000 lds r24,bcd_dsp
822 0414 9927 clr r25
823 0416 74E0 ldi r23,4
824 0418 880F 1: lsl r24
825 041a 991F rol r25
826 041c 7A95 dec r23
827 041e E1F7 brne 1b
828 0420 2091 0000 lds r18,bcd_dsp+1
829 0424 2F73 andi r18,lo8(63)
830 0426 282B or r18,r24
831 0428 622F mov r22,r18
832 042a 84E8 ldi r24,lo8(-124)
833 042c 20DE rcall write_ds1302
834 .LM136:
835 042e 8091 0000 lds r24,bcd_dsp+2
836 0432 9927 clr r25
837 0434 64E0 ldi r22,4
838 0436 880F 1: lsl r24
839 0438 991F rol r25
840 043a 6A95 dec r22
841 043c E1F7 brne 1b
842 043e 2091 0000 lds r18,bcd_dsp+3
843 0442 2F77 andi r18,lo8(127)
844 0444 282B or r18,r24
845 0446 622F mov r22,r18
846 0448 82E8 ldi r24,lo8(-126)
847 044a 11DE rcall write_ds1302
848 .LM137:
849 044c 8091 0000 lds r24,bcd_dsp+4
850 0450 9927 clr r25
851 0452 54E0 ldi r21,4
852 0454 880F 1: lsl r24
853 0456 991F rol r25
854 0458 5A95 dec r21
855 045a E1F7 brne 1b
856 045c 2091 0000 lds r18,bcd_dsp+5
857 0460 2F77 andi r18,lo8(127)
858 0462 282B or r18,r24
859 0464 622F mov r22,r18
860 0466 80E8 ldi r24,lo8(-128)
861 0468 02DE rcall write_ds1302
862 .LM138:
863 046a 81E0 ldi r24,lo8(1)
864 046c 8093 0000 sts dsp_state,r24
865 .LM139:
866 0470 1092 0000 sts modify_state,__zero_reg__
867 .LM140:
868 0474 1092 0000 sts modify_key,__zero_reg__
869 .L102:
870 .LM141:
871 0478 8091 0000 lds r24,modify_state
872 047c 8230 cpi r24,lo8(2)
873 047e 09F0 breq .+2
874 0480 67C0 rjmp .L103
875 .LM142:
876 0482 8091 0000 lds r24,bcd_dsp+5
877 0486 8770 andi r24,lo8(7)
878 0488 8F5F subi r24,lo8(-(1))
879 048a 682F mov r22,r24
880 048c 8AE8 ldi r24,lo8(-118)
881 048e EFDD rcall write_ds1302
882 .LM143:
883 0490 85E8 ldi r24,lo8(-123)
884 0492 FDDD rcall in_byte
885 0494 8F73 andi r24,lo8(63)
886 0496 8093 0000 sts bcd_dsp+3,r24
887 .LM144:
888 049a 83E8 ldi r24,lo8(-125)
889 049c F8DD rcall in_byte
890 049e 8F77 andi r24,lo8(127)
891 04a0 8093 0000 sts bcd_dsp+4,r24
892 .LM145:
893 04a4 81E8 ldi r24,lo8(-127)
894 04a6 F3DD rcall in_byte
895 04a8 382F mov r19,r24
896 04aa 682F mov r22,r24
897 04ac 6F77 andi r22,lo8(127)
898 .LM146:
899 04ae 2091 0000 lds r18,bcd_dsp+3
900 04b2 722F mov r23,r18
901 04b4 7295 swap r23
902 04b6 7F70 andi r23,0x0f
903 04b8 E72F mov r30,r23
904 04ba FF27 clr r31
905 04bc E050 subi r30,lo8(-(led))
906 04be F040 sbci r31,hi8(-(led))
907 04c0 8081 ld r24,Z
908 04c2 8093 0000 sts dsp,r24
909 .LM147:
910 04c6 E22F mov r30,r18
911 04c8 FF27 clr r31
912 04ca EF70 andi r30,lo8(15)
913 04cc F070 andi r31,hi8(15)
914 04ce E050 subi r30,lo8(-(led))
915 04d0 F040 sbci r31,hi8(-(led))
916 04d2 8081 ld r24,Z
917 04d4 8093 0000 sts dsp+1,r24
918 .LM148:
919 04d8 9091 0000 lds r25,bcd_dsp+4
920 04dc 592F mov r21,r25
921 04de 5295 swap r21
922 04e0 5F70 andi r21,0x0f
923 04e2 E52F mov r30,r21
924 04e4 FF27 clr r31
925 04e6 E050 subi r30,lo8(-(led))
926 04e8 F040 sbci r31,hi8(-(led))
927 04ea 8081 ld r24,Z
928 04ec 8093 0000 sts dsp+2,r24
929 .LM149:
930 04f0 E92F mov r30,r25
931 04f2 FF27 clr r31
932 04f4 EF70 andi r30,lo8(15)
933 04f6 F070 andi r31,hi8(15)
934 04f8 E050 subi r30,lo8(-(led))
935 04fa F040 sbci r31,hi8(-(led))
936 04fc 8081 ld r24,Z
937 04fe 8093 0000 sts dsp+3,r24
938 .LM150:
939 0502 462F mov r20,r22
940 0504 4295 swap r20
941 0506 4F70 andi r20,0x0f
942 0508 E42F mov r30,r20
943 050a FF27 clr r31
944 050c E050 subi r30,lo8(-(led))
945 050e F040 sbci r31,hi8(-(led))
946 0510 8081 ld r24,Z
947 0512 8093 0000 sts dsp+4,r24
948 .LM151:
949 0516 E62F mov r30,r22
950 0518 FF27 clr r31
951 051a EF70 andi r30,lo8(15)
952 051c F070 andi r31,hi8(15)
953 051e E050 subi r30,lo8(-(led))
954 0520 F040 sbci r31,hi8(-(led))
955 0522 8081 ld r24,Z
956 0524 8093 0000 sts dsp+5,r24
957 .LM152:
958 0528 7093 0000 sts bcd_dsp,r23
959 .LM153:
960 052c 2F70 andi r18,lo8(15)
961 052e 2093 0000 sts bcd_dsp+1,r18
962 .LM154:
963 0532 5093 0000 sts bcd_dsp+2,r21
964 .LM155:
965 0536 9F70 andi r25,lo8(15)
966 0538 9093 0000 sts bcd_dsp+3,r25
967 .LM156:
968 053c 4093 0000 sts bcd_dsp+4,r20
969 .LM157:
970 0540 3F70 andi r19,lo8(15)
971 0542 3093 0000 sts bcd_dsp+5,r19
972 .LM158:
973 0546 83E0 ldi r24,lo8(3)
974 0548 8093 0000 sts modify_state,r24
975 .LM159:
976 054c 1092 0000 sts modify_bit,__zero_reg__
977 .L103:
978 .LM160:
979 0550 8091 0000 lds r24,modify_state
980 0554 8130 cpi r24,lo8(1)
981 0556 09F0 breq .+2
982 0558 58C0 rjmp .L99
983 .LM161:
984 055a 8091 0000 lds r24,bcd_dsp
985 055e 9927 clr r25
986 0560 44E0 ldi r20,4
987 0562 880F 1: lsl r24
988 0564 991F rol r25
989 0566 4A95 dec r20
990 0568 E1F7 brne 1b
991 056a 2091 0000 lds r18,bcd_dsp+1
992 056e 282B or r18,r24
993 0570 622F mov r22,r18
994 0572 8CE8 ldi r24,lo8(-116)
995 0574 7CDD rcall write_ds1302
996 .LM162:
997 0576 8091 0000 lds r24,bcd_dsp+2
998 057a 9927 clr r25
999 057c 34E0 ldi r19,4
1000 057e 880F 1: lsl r24
1001 0580 991F rol r25
1002 0582 3A95 dec r19
1003 0584 E1F7 brne 1b
1004 0586 2091 0000 lds r18,bcd_dsp+3
1005 058a 2F71 andi r18,lo8(31)
1006 058c 282B or r18,r24
1007 058e 622F mov r22,r18
1008 0590 88E8 ldi r24,lo8(-120)
1009 0592 6DDD rcall write_ds1302
1010 .LM163:
1011 0594 8091 0000 lds r24,bcd_dsp+4
1012 0598 9927 clr r25
1013 059a 24E0 ldi r18,4
1014 059c 880F 1: lsl r24
1015 059e 991F rol r25
1016 05a0 2A95 dec r18
1017 05a2 E1F7 brne 1b
1018 05a4 2091 0000 lds r18,bcd_dsp+5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -