📄 main.lis
字号:
010D ; if(Minute_second_integral_flag)
010D B638 lda *_Minute_second_integral_flag
010F 2714 beq L22
0111 ; {
0111 ; if(Integral_counter<5)
0111 B639 lda *_Integral_counter
0113 A105 cmp #5
0115 2406 bhs L24
0117 ; Alarm_play();
0117 CD0839 jsr _Alarm_play
011A 95 tsx
011B 2008 bra L25
011D L24:
011D ; else
011D ; {
011D ; Minute_second_integral_flag=0;
011D 3F38 clr *_Minute_second_integral_flag
011F ; Integral_counter=0;
011F 3F39 clr *_Integral_counter
0121 ; Alarm_Off();
0121 CD083E jsr _Alarm_Off
0124 95 tsx
0125 ; }
0125 L25:
0125 ; }
0125 L22:
0125 ; if(Timer_5sec_trigger)
0125 B62E lda *_Timer_5sec_trigger
0127 2603 bne X13
0129 CC020F jmp L26
012C X13:
012C ; {
012C ; if(Timer_5sec_counter>5)
012C B62F lda *_Timer_5sec_counter
012E A105 cmp #5
0130 230D bls L28
0132 ; {
0132 ;
0132 ; Timer_5sec_trigger=0;
0132 3F2E clr *_Timer_5sec_trigger
0134 ; Timer_5sec_counter=0;
0134 3F2F clr *_Timer_5sec_counter
0136 ; Select_key_is_pressed_flag=0;
0136 3F33 clr *_Select_key_is_pressed_flag
0138 ; Normal_show_time=1;
0138 A601 lda #1
013A B736 sta *_Normal_show_time
013C ; break;
013C CC0212 jmp L9
013F L28:
013F ; }
013F ; if(Select_key_is_pressed_flag==0)
013F B633 lda *_Select_key_is_pressed_flag
0141 2607 bne L30
0143 ; {
0143 ; Timer_5sec_trigger=0;
0143 3F2E clr *_Timer_5sec_trigger
0145 ; Timer_5sec_counter=0;
0145 3F2F clr *_Timer_5sec_counter
0147 ; break;
0147 CC0212 jmp L9
014A L30:
014A ; }
014A ; switch(Select_key_is_pressed_flag%11)
014A 3F00 clr *__r0
014C B633 lda *_Select_key_is_pressed_flag
014E B700 sta *__rlo
0150 4E0000 mov *__r0,*__rhi
0153 A60B lda #11
0155 87 psha
0156 4F clra
0157 87 psha
0158 CD0000 jsr __divmod16s
015B 86 pula
015C E705 sta 5,X
015E 86 pula
015F E706 sta 6,X
0161 E605 lda 5,X
0163 2604 bne X0
0165 E606 lda 6,X
0167 2766 beq L35
0169 X0:
0169 E605 lda 5,X
016B 2606 bne X1
016D E606 lda 6,X
016F A101 cmp #1
0171 2762 beq L36
0173 X1:
0173 E605 lda 5,X
0175 2606 bne X2
0177 E606 lda 6,X
0179 A102 cmp #2
017B 275E beq L37
017D X2:
017D E605 lda 5,X
017F 2606 bne X3
0181 E606 lda 6,X
0183 A103 cmp #3
0185 275A beq L38
0187 X3:
0187 E605 lda 5,X
0189 2606 bne X4
018B E606 lda 6,X
018D A104 cmp #4
018F 2756 beq L39
0191 X4:
0191 E605 lda 5,X
0193 2606 bne X5
0195 E606 lda 6,X
0197 A105 cmp #5
0199 2752 beq L40
019B X5:
019B E605 lda 5,X
019D 2606 bne X6
019F E606 lda 6,X
01A1 A106 cmp #6
01A3 274E beq L41
01A5 X6:
01A5 E605 lda 5,X
01A7 2606 bne X7
01A9 E606 lda 6,X
01AB A107 cmp #7
01AD 274A beq L42
01AF X7:
01AF E605 lda 5,X
01B1 2606 bne X8
01B3 E606 lda 6,X
01B5 A108 cmp #8
01B7 2746 beq L43
01B9 X8:
01B9 E605 lda 5,X
01BB 2606 bne X9
01BD E606 lda 6,X
01BF A109 cmp #9
01C1 2742 beq L44
01C3 X9:
01C3 E605 lda 5,X
01C5 2606 bne X10
01C7 E606 lda 6,X
01C9 A10A cmp #10
01CB 273E beq L45
01CD X10:
01CD 2040 bra L33
01CF X11:
01CF ; {
01CF L35:
01CF ; case 0:Year_adjust();break;
01CF CD0516 jsr _Year_adjust
01D2 95 tsx
01D3 203A bra L33
01D5 L36:
01D5 ; case 1:Year_adjust();break;
01D5 CD0516 jsr _Year_adjust
01D8 95 tsx
01D9 2034 bra L33
01DB L37:
01DB ; case 2:Month_adjust();break;
01DB CD054A jsr _Month_adjust
01DE 95 tsx
01DF 202E bra L33
01E1 L38:
01E1 ; case 3:Day_adjust();break;
01E1 CD0582 jsr _Day_adjust
01E4 95 tsx
01E5 2028 bra L33
01E7 L39:
01E7 ; case 4:Hour_adjust();break;
01E7 CD06D8 jsr _Hour_adjust
01EA 95 tsx
01EB 2022 bra L33
01ED L40:
01ED ; case 5:Minute_adjust();break;
01ED CD070D jsr _Minute_adjust
01F0 95 tsx
01F1 201C bra L33
01F3 L41:
01F3 ; case 6:A_Year_adjust();break;
01F3 CD0744 jsr _A_Year_adjust
01F6 95 tsx
01F7 2016 bra L33
01F9 L42:
01F9 ; case 7:A_Month_adjust();break;
01F9 CD078A jsr _A_Month_adjust
01FC 95 tsx
01FD 2010 bra L33
01FF L43:
01FF ; case 8:A_Day_adjust();break;
01FF CD07A8 jsr _A_Day_adjust
0202 95 tsx
0203 200A bra L33
0205 L44:
0205 ; case 9:A_Hour_adjust();break;
0205 CD07C6 jsr _A_Hour_adjust
0208 95 tsx
0209 2004 bra L33
020B L45:
020B ; case 10:A_Minute_adjust();break;
020B CD07E3 jsr _A_Minute_adjust
020E 95 tsx
020F ; default: ;break;
020F L33:
020F ; }
020F ;
020F ; } //end if
020F L26:
020F L8:
020F CC001B jmp L7
0212 L9:
0212 L5:
0212 CC0016 jmp L4
0215 X12:
0215 L3:
0215 A709 ais #9
0217 .dbline 0 ; func end
0217 81 rts
0218 ; tmp -> 0,X
0218 ; tmpchar -> 2,X
0218 ; i -> 3,X
0218 ; Time -> 6,X
0218 _Time_Var2char::
0218 A7FC ais #-4
021A 95 tsx
021B ; }//end while
021B ; }//end while
021B ; }// end main
021B ;
021B ;
021B ; void Time_Var2char(Time_Struct Time)
021B ; {
021B ; unsigned char i,tmpchar;
021B ; unsigned short int tmp;
021B ; tmp=Time.year;
021B E606 lda 6,X
021D EE07 ldx 7,X
021F 87 psha
0220 8A pulh
0221 E601 lda 1,x
0223 9EE702 sta 2,SP
0226 F6 lda ,x
0227 95 tsx
0228 F7 sta ,X
0229 ; for(i=0;i<4;i++)
0229 6F03 clr 3,X
022B 2049 bra L50
022D L47:
022D E601 lda 1,X
022F B700 sta *__rlo
0231 F6 lda ,X
0232 B700 sta *__rhi
0234 A60A lda #10
0236 87 psha
0237 4F clra
0238 87 psha
0239 CD0000 jsr __divmod16u
023C 86 pula
023D B700 sta *__r0
023F 86 pula
0240 AB30 add #48
0242 B700 sta *__r1
0244 B600 lda *__r0
0246 A900 adc #0
0248 3F00 clr *__r2
024A E603 lda 3,X
024C AB0E add #<_LCD_buff
024E B700 sta *__r3
0250 B600 lda *__r2
0252 A90E adc #>_LCD_buff
0254 B700 sta *__r2
0256 B600 lda *__r1
0258 5500 ldhx *__r2
025A F7 sta ,x
025B 95 tsx
025C E601 lda 1,X
025E B700 sta *__rlo
0260 F6 lda ,X
0261 B700 sta *__rhi
0263 A60A lda #10
0265 87 psha
0266 4F clra
0267 87 psha
0268 CD0000 jsr __divmod16u
026B A702 ais #2
026D B600 lda *__rhi
026F F7 sta ,X
0270 B600 lda *__rlo
0272 E701 sta 1,X
0274 L48:
0274 6C03 inc 3,X
0276 L50:
0276 E603 lda 3,X
0278 A104 cmp #4
027A 25B1 blo L47
027C ; {
027C ; LCD_buff[i]=tmp%10+48;
027C ; tmp=tmp/10;
027C ; }
027C ; swap(&LCD_buff[0],&LCD_buff[3]);
027C 450011 ldhx #_LCD_buff+3
027F 89 pshx
0280 8B pshh
0281 45000E ldhx #_LCD_buff
0284 89 pshx
0285 8B pshh
0286 CD0847 jsr _swap
0289 A704 ais #4
028B ; swap(&LCD_buff[1],&LCD_buff[2]);
028B 450010 ldhx #_LCD_buff+2
028E 89 pshx
028F 8B pshh
0290 45000F ldhx #_LCD_buff+1
0293 89 pshx
0294 8B pshh
0295 CD0847 jsr _swap
0298 A704 ais #4
029A 95 tsx
029B ; LCD_buff[i]='-';
029B 3F00 clr *__r0
029D E603 lda 3,X
029F AB0E add #<_LCD_buff
02A1 B700 sta *__r1
02A3 B600 lda *__r0
02A5 A90E adc #>_LCD_buff
02A7 B700 sta *__r0
02A9 A62D lda #45
02AB 5500 ldhx *__r0
02AD F7 sta ,x
02AE 95 tsx
02AF ; tmpchar=Time.month;
02AF E607 lda 7,X
02B1 AB02 add #2
02B3 B700 sta *__r1
02B5 E606 lda 6,X
02B7 A900 adc #0
02B9 B700 sta *__r0
02BB 5500 ldhx *__r0
02BD F6 lda ,x
02BE 95 tsx
02BF E702 sta 2,X
02C1 ; for(i=5;i<7;i++)
02C1 A605 lda #5
02C3 E703 sta 3,X
02C5 202C bra L57
02C7 L54:
02C7 E602 lda 2,X
02C9 AE0A ldx #10
02CB 8C clrh
02CC 52 div
02CD 8B pshh
02CE 86 pula
02CF 95 tsx
02D0 AB30 add #48
02D2 B700 sta *__r1
02D4 3F00 clr *__r2
02D6 E603 lda 3,X
02D8 AB0E add #<_LCD_buff
02DA B700 sta *__r3
02DC B600 lda *__r2
02DE A90E adc #>_LCD_buff
02E0 B700 sta *__r2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -