📄 lcdshow.lis
字号:
07C0 AE0A ldx #10
07C2 42 mul
07C3 BB0B add *_time+11
07C5 B701 sta *_Ttime+1
07C7 ; Ttime[2]=time[12]*10+time[13];
07C7 B60C lda *_time+12
07C9 AE0A ldx #10
07CB 42 mul
07CC 95 tsx
07CD BB0D add *_time+13
07CF B702 sta *_Ttime+2
07D1 L92:
07D1 .dbline 0 ; func end
07D1 81 rts
07D2 _Change2::
07D2 ; }
07D2 ;
07D2 ;
07D2 ; void Change2(void) //将数组alarm组合存储到数组Tdate2
07D2 ; {
07D2 ; Tdate2[0]=alarm[0]*1000+alarm[1]*100+alarm[2]*10+alarm[3];
07D2 3F00 clr *__r0
07D4 B601 lda *_alarm+1
07D6 B700 sta *__r1
07D8 A664 lda #100
07DA 87 psha
07DB 4F clra
07DC 87 psha
07DD B600 lda *__r1
07DF 87 psha
07E0 B600 lda *__r0
07E2 87 psha
07E3 CD0000 jsr __mul16
07E6 A704 ais #4
07E8 4E0000 mov *__rlo,*__r1
07EB 4E0000 mov *__rhi,*__r0
07EE 3F00 clr *__r2
07F0 B600 lda *_alarm
07F2 B700 sta *__r3
07F4 A6E8 lda #-24
07F6 87 psha
07F7 A603 lda #3
07F9 87 psha
07FA B600 lda *__r3
07FC 87 psha
07FD B600 lda *__r2
07FF 87 psha
0800 CD0000 jsr __mul16
0803 A704 ais #4
0805 4E0000 mov *__rlo,*__r3
0808 4E0000 mov *__rhi,*__r2
080B B600 lda *__r3
080D BB00 add *__r1
080F B700 sta *__r1
0811 B600 lda *__r2
0813 B900 adc *__r0
0815 B700 sta *__r0
0817 3F00 clr *__r2
0819 B602 lda *_alarm+2
081B B700 sta *__r3
081D A60A lda #10
081F 87 psha
0820 4F clra
0821 87 psha
0822 B600 lda *__r3
0824 87 psha
0825 B600 lda *__r2
0827 87 psha
0828 CD0000 jsr __mul16
082B A704 ais #4
082D 4E0000 mov *__rlo,*__r3
0830 4E0000 mov *__rhi,*__r2
0833 B600 lda *__r1
0835 BB00 add *__r3
0837 B700 sta *__r1
0839 B600 lda *__r0
083B B900 adc *__r2
083D B700 sta *__r0
083F 3F00 clr *__r2
0841 B603 lda *_alarm+3
0843 B700 sta *__r3
0845 B600 lda *__r1
0847 BB00 add *__r3
0849 B701 sta *_Tdate2+1
084B B600 lda *__r0
084D B900 adc *__r2
084F B700 sta *_Tdate2
0851 ; Tdate2[1]=alarm[4]*10+alarm[5];
0851 3F00 clr *__r0
0853 B605 lda *_alarm+5
0855 B700 sta *__r1
0857 3F00 clr *__r2
0859 B604 lda *_alarm+4
085B B700 sta *__r3
085D A60A lda #10
085F 87 psha
0860 4F clra
0861 87 psha
0862 B600 lda *__r3
0864 87 psha
0865 B600 lda *__r2
0867 87 psha
0868 CD0000 jsr __mul16
086B A704 ais #4
086D 4E0000 mov *__rlo,*__r3
0870 4E0000 mov *__rhi,*__r2
0873 B600 lda *__r3
0875 BB00 add *__r1
0877 B703 sta *_Tdate2+2+1
0879 B600 lda *__r2
087B B900 adc *__r0
087D B702 sta *_Tdate2+2
087F ; Tdate2[2]=alarm[6]*10+alarm[7];
087F 3F00 clr *__r0
0881 B607 lda *_alarm+7
0883 B700 sta *__r1
0885 3F00 clr *__r2
0887 B606 lda *_alarm+6
0889 B700 sta *__r3
088B A60A lda #10
088D 87 psha
088E 4F clra
088F 87 psha
0890 B600 lda *__r3
0892 87 psha
0893 B600 lda *__r2
0895 87 psha
0896 CD0000 jsr __mul16
0899 A704 ais #4
089B 4E0000 mov *__rlo,*__r3
089E 4E0000 mov *__rhi,*__r2
08A1 B600 lda *__r3
08A3 BB00 add *__r1
08A5 B705 sta *_Tdate2+4+1
08A7 B600 lda *__r2
08A9 B900 adc *__r0
08AB B704 sta *_Tdate2+4
08AD ; Ttime2[0]=alarm[8]*10+alarm[9];
08AD B608 lda *_alarm+8
08AF AE0A ldx #10
08B1 42 mul
08B2 BB09 add *_alarm+9
08B4 B700 sta *_Ttime2
08B6 ; Ttime2[1]=alarm[10]*10+alarm[11];
08B6 B60A lda *_alarm+10
08B8 AE0A ldx #10
08BA 42 mul
08BB BB0B add *_alarm+11
08BD B701 sta *_Ttime2+1
08BF ; Ttime2[2]=alarm[12]*10+alarm[13];
08BF B60C lda *_alarm+12
08C1 AE0A ldx #10
08C3 42 mul
08C4 95 tsx
08C5 BB0D add *_alarm+13
08C7 B702 sta *_Ttime2+2
08C9 L110:
08C9 .dbline 0 ; func end
08C9 81 rts
08CA _Controle::
08CA ; }
08CA ;
08CA ;
08CA ; void Controle(void) //控制时钟的日期时间合法
08CA ; {
08CA ; if(time[12]>5) time[12]=0;
08CA B60C lda *_time+12
08CC A105 cmp #5
08CE 2302 bls L129
08D0 3F0C clr *_time+12
08D2 L129:
08D2 ; if(time[10]>5) time[10]=0;
08D2 B60A lda *_time+10
08D4 A105 cmp #5
08D6 2302 bls L133
08D8 3F0A clr *_time+10
08DA L133:
08DA ; if(Ttime[0]>=20&&time[9]>=5) time[9]=0;
08DA B600 lda *_Ttime
08DC A114 cmp #20
08DE 2508 blo L137
08E0 B609 lda *_time+9
08E2 A105 cmp #5
08E4 2502 blo L137
08E6 3F09 clr *_time+9
08E8 L137:
08E8 ; if(time[8]>2) time[8]=0;
08E8 B608 lda *_time+8
08EA A102 cmp #2
08EC 2302 bls L141
08EE 3F08 clr *_time+8
08F0 L141:
08F0 ; if(Tdate[1]==2&&(Tdate[0]%4==0&&Tdate[0]%100!=0||Tdate[0]%400==0))
08F0 5502 ldhx *_Tdate+2
08F2 650002 cphx #2
08F5 95 tsx
08F6 2663 bne L145
08F8 B601 lda *_Tdate+1
08FA B700 sta *__rlo
08FC B600 lda *_Tdate
08FE B700 sta *__rhi
0900 A604 lda #4
0902 87 psha
0903 4F clra
0904 87 psha
0905 CD0000 jsr __divmod16s
0908 86 pula
0909 B700 sta *__r0
090B 86 pula
090C B700 sta *__r1
090E 5500 ldhx *__r0
0910 650000 cphx #0
0913 95 tsx
0914 261E bne L149
0916 B601 lda *_Tdate+1
0918 B700 sta *__rlo
091A B600 lda *_Tdate
091C B700 sta *__rhi
091E A664 lda #100
0920 87 psha
0921 4F clra
0922 87 psha
0923 CD0000 jsr __divmod16s
0926 86 pula
0927 B700 sta *__r0
0929 86 pula
092A B700 sta *__r1
092C 5500 ldhx *__r0
092E 650000 cphx #0
0931 95 tsx
0932 261F bne L148
0934 L149:
0934 B601 lda *_Tdate+1
0936 B700 sta *__rlo
0938 B600 lda *_Tdate
093A B700 sta *__rhi
093C A690 lda #-112
093E 87 psha
093F A601 lda #1
0941 87 psha
0942 CD0000 jsr __divmod16s
0945 86 pula
0946 B700 sta *__r0
0948 86 pula
0949 B700 sta *__r1
094B 5500 ldhx *__r0
094D 650000 cphx #0
0950 95 tsx
0951 2608 bne L145
0953 L148:
0953 B606 lda *_time+6
0955 A102 cmp #2
0957 2302 bls L150
0959 3F06 clr *_time+6
095B L150:
095B ; { if(time[6]>2) time[6]=0;}
095B L145:
095B ; if(Tdate[1]==1||Tdate[1]==3||Tdate[1]==5||Tdate[1]==7||
095B 5502 ldhx *_Tdate+2
095D 650001 cphx #1
0960 95 tsx
0961 2730 beq L168
0963 5502 ldhx *_Tdate+2
0965 650003 cphx #3
0968 95 tsx
0969 2728 beq L168
096B 5502 ldhx *_Tdate+2
096D 650005 cphx #5
0970 95 tsx
0971 2720 beq L168
0973 5502 ldhx *_Tdate+2
0975 650007 cphx #7
0978 95 tsx
0979 2718 beq L168
097B 5502 ldhx *_Tdate+2
097D 650008 cphx #8
0980 95 tsx
0981 2710 beq L168
0983 5502 ldhx *_Tdate+2
0985 65000A cphx #10
0988 95 tsx
0989 2708 beq L168
098B 5502 ldhx *_Tdate+2
098D 65000C cphx #12
0990 95 tsx
0991 260E bne L154
0993 L168:
0993 B606 lda *_time+6
0995 A103 cmp #3
0997 2608 bne L169
0999 B607 lda *_time+7
099B A101 cmp #1
099D 2302 bls L169
099F 3F07 clr *_time+7
09A1 L169:
09A1 ; Tdate[1]==8||Tdate[1]==10||Tdate[1]==12)
09A1 ; { if(time[6]==3&&time[7]>1) time[7]=0;}
09A1 L154:
09A1 ; if(Tdate[1]==2||Tdate[1]==4||Tdate[1]==6||Tdate[1]==9||Tdate[1]==11)
09A1 5502 ldhx *_Tdate+2
09A3 650002 cphx #2
09A6 95 tsx
09A7 2720 beq L184
09A9 5502 ldhx *_Tdate+2
09AB 650004 cphx #4
09AE 95 tsx
09AF 2718 beq L184
09B1 5502 ldhx *_Tdate+2
09B3 650006 cphx #6
09B6 95 tsx
09B7 2710 beq L184
09B9 5502 ldhx *_Tdate+2
09BB 650009 cphx #9
09BE 95 tsx
09BF 2708 beq L184
09C1 5502 ldhx *_Tdate+2
09C3 65000B cphx #11
09C6 95 tsx
09C7 260E bne L174
09C9 L184:
09C9 B606 lda *_time+6
09CB A103 cmp #3
09CD 2608 bne L185
09CF B607 lda *_time+7
09D1 A100 cmp #0
09D3 2302 bls L185
09D5 3F07 clr *_time+7
09D7 L185:
09D7 ; { if(time[6]==3&&time[7]>0) time[7]=0;}
09D7 L174:
09D7 ; if(time[6]>3) time[6]=0;
09D7 B606 lda *_time+6
09D9 A103 cmp #3
09DB 2302 bls L190
09DD 3F06 clr *_time+6
09DF L190:
09DF ; if(Tdate[1]>10&&time[5]>2) time[5]=0;
09DF 5502 ldhx *_Tdate+2
09E1 65000A cphx #10
09E4 95 tsx
09E5 9308 ble L194
09E7 B605 lda *_time+5
09E9 A102 cmp #2
09EB 2302 bls L194
09ED 3F05 clr *_time+5
09EF L194:
09EF ; if(time[4]>1) time[4]=0;
09EF B604 lda *_time+4
09F1 A101 cmp #1
09F3 2302 bls L199
09F5 3F04 clr *_time+4
09F7 L199:
09F7 ; if(time[6]>3) time[6]=0;
09F7 B606 lda *_time+6
09F9 A103 cmp #3
09FB 2302 bls L203
09FD 3F06 clr *_time+6
09FF L203:
09FF ; if(Tdate[1]>10&&time[5]>2) time[5]=0;
09FF 5502 ldhx *_Tdate+2
0A01 65000A cphx #10
0A04 95 tsx
0A05 9308 ble L207
0A07 B605 lda *_time+5
0A09 A102 cmp #2
0A0B 2302 bls L207
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -