📄 jianpan.lis
字号:
0254 F6 lda ,x
0255 AE0A ldx #10
0257 8C clrh
0258 52 div
0259 8B pshh
025A 86 pula
025B 95 tsx
025C AB30 add #48
025E B703 sta *_alartstr+3
0260 ; alartstr[2]=(int)alart[0]/10+0x30;
0260 E606 lda 6,X
0262 EE07 ldx 7,X
0264 87 psha
0265 8A pulh
0266 F6 lda ,x
0267 95 tsx
0268 87 psha
0269 A60A lda #10
026B 87 psha
026C CD0000 jsr __div8s
026F A702 ais #2
0271 AB30 add #48
0273 B702 sta *_alartstr+2
0275 ; alartstr[1]=alart[1]%10+0x30;
0275 E607 lda 7,X
0277 AB01 add #1
0279 B700 sta *__r1
027B E606 lda 6,X
027D A900 adc #0
027F B700 sta *__r0
0281 5500 ldhx *__r0
0283 F6 lda ,x
0284 AE0A ldx #10
0286 8C clrh
0287 52 div
0288 8B pshh
0289 86 pula
028A 95 tsx
028B AB30 add #48
028D B701 sta *_alartstr+1
028F ; alartstr[0]=(int)alart[1]/10+0x30;
028F E607 lda 7,X
0291 AB01 add #1
0293 B700 sta *__r1
0295 E606 lda 6,X
0297 A900 adc #0
0299 B700 sta *__r0
029B 5500 ldhx *__r0
029D F6 lda ,x
029E 95 tsx
029F 87 psha
02A0 A60A lda #10
02A2 87 psha
02A3 CD0000 jsr __div8s
02A6 A702 ais #2
02A8 AB30 add #48
02AA B700 sta *_alartstr
02AC L1:
02AC .dbline 0 ; func end
02AC 81 rts
02AD ; days -> 2,X
02AD ; month -> 7,X
02AD ; year -> 5,X
02AD _getmonthdays::
02AD A7FD ais #-3
02AF 95 tsx
02B0 ;
02B0 ;
02B0 ; }
02B0 ; unsigned char getmonthdays(unsigned int year,unsigned char month)/*得到某月的天数*/
02B0 ; {
02B0 ; unsigned char days;
02B0 ; switch (month)
02B0 7F clr ,X
02B1 E607 lda 7,X
02B3 E701 sta 1,X
02B5 F6 lda ,X
02B6 2606 bne X0
02B8 E601 lda 1,X
02BA A102 cmp #2
02BC 272C beq L22
02BE X0:
02BE F6 lda ,X
02BF 2606 bne X1
02C1 E601 lda 1,X
02C3 A104 cmp #4
02C5 271D beq L21
02C7 X1:
02C7 F6 lda ,X
02C8 2606 bne X2
02CA E601 lda 1,X
02CC A106 cmp #6
02CE 2714 beq L21
02D0 X2:
02D0 F6 lda ,X
02D1 2606 bne X3
02D3 E601 lda 1,X
02D5 A109 cmp #9
02D7 270B beq L21
02D9 X3:
02D9 F6 lda ,X
02DA 2606 bne X4
02DC E601 lda 1,X
02DE A10B cmp #11
02E0 2702 beq L21
02E2 X4:
02E2 2060 bra L18
02E4 X5:
02E4 ; {
02E4 L21:
02E4 ; case 4:
02E4 ; case 6:
02E4 ; case 9:
02E4 ; case 11:days=30;
02E4 A61E lda #30
02E6 E702 sta 2,X
02E8 ; break;
02E8 205E bra L19
02EA L22:
02EA ; case 2: if((year%4==0&&year%100!=0)||(year%400==0))
02EA E606 lda 6,X
02EC A403 and #3
02EE B700 sta *__r1
02F0 4F clra
02F1 B700 sta *__r0
02F3 5500 ldhx *__r0
02F5 650000 cphx #0
02F8 95 tsx
02F9 261E bne L26
02FB E606 lda 6,X
02FD B700 sta *__rlo
02FF E605 lda 5,X
0301 B700 sta *__rhi
0303 A664 lda #100
0305 87 psha
0306 4F clra
0307 87 psha
0308 CD0000 jsr __divmod16u
030B 86 pula
030C B700 sta *__r0
030E 86 pula
030F B700 sta *__r1
0311 5500 ldhx *__r0
0313 650000 cphx #0
0316 95 tsx
0317 261F bne L25
0319 L26:
0319 E606 lda 6,X
031B B700 sta *__rlo
031D E605 lda 5,X
031F B700 sta *__rhi
0321 A690 lda #-112
0323 87 psha
0324 A601 lda #1
0326 87 psha
0327 CD0000 jsr __divmod16u
032A 86 pula
032B B700 sta *__r0
032D 86 pula
032E B700 sta *__r1
0330 5500 ldhx *__r0
0332 650000 cphx #0
0335 95 tsx
0336 2606 bne L23
0338 L25:
0338 ; days=29;
0338 A61D lda #29
033A E702 sta 2,X
033C 200A bra L19
033E L23:
033E ; else days=28;
033E A61C lda #28
0340 E702 sta 2,X
0342 ; break;
0342 2004 bra L19
0344 L18:
0344 ; default:days=31;
0344 A61F lda #31
0346 E702 sta 2,X
0348 ; break;
0348 L19:
0348 ; }
0348 ; return days;
0348 E602 lda 2,X
034A L17:
034A A703 ais #3
034C .dbline 0 ; func end
034C 81 rts
034D ; i -> 0,X
034D ; j -> 1,X
034D _Delay::
034D A7FE ais #-2
034F 95 tsx
0350 ; }
0350 ;
0350 ; /*void Data_Change(unsigned char data,unsigned char change_data[2])
0350 ; {
0350 ; change_data[1]=data/10;
0350 ; change_data[0]=data%10;
0350 ; }
0350 ; */
0350 ; void Delay(void)
0350 ; {
0350 ; unsigned char i,j;
0350 ; for(i=0;i<230;i++)
0350 7F clr ,X
0351 200D bra L31
0353 L28:
0353 6F01 clr 1,X
0355 2002 bra L35
0357 L32:
0357 L33:
0357 6C01 inc 1,X
0359 L35:
0359 E601 lda 1,X
035B A1E6 cmp #-26
035D 25F8 blo L32
035F L29:
035F 7C inc ,X
0360 L31:
0360 F6 lda ,X
0361 A1E6 cmp #-26
0363 25EE blo L28
0365 L27:
0365 A702 ais #2
0367 .dbline 0 ; func end
0367 81 rts
0368 ; n -> 2,X
0368 _Lcd_Show::
0368 95 tsx
0369 ; for(j=0;j<230;j++);
0369 ; }
0369 ;
0369 ; void Lcd_Show(unsigned char n)
0369 ; {
0369 ; // unsigned char hyear,lyear,array[2]={0};
0369 ; LcdInit();
0369 CD0000 jsr _LcdInit
036C 95 tsx
036D ; if(n==1)
036D E602 lda 2,X
036F A101 cmp #1
0371 2674 bne L37
0373 ; {
0373 ; lcdshow1(1,4, clockstr[0]); //show h low1
0373 B600 lda *_clockstr
0375 87 psha
0376 A604 lda #4
0378 87 psha
0379 A601 lda #1
037B 87 psha
037C CD0000 jsr _lcdshow1
037F A703 ais #3
0381 ; lcdshow1(1,5, clockstr[1]); //show h low2
0381 B601 lda *_clockstr+1
0383 87 psha
0384 A605 lda #5
0386 87 psha
0387 A601 lda #1
0389 87 psha
038A CD0000 jsr _lcdshow1
038D A703 ais #3
038F ; lcdshow1(1,6,':'); //show '.'
038F A63A lda #58
0391 87 psha
0392 A606 lda #6
0394 87 psha
0395 A601 lda #1
0397 87 psha
0398 CD0000 jsr _lcdshow1
039B A703 ais #3
039D ; lcdshow1(1,7, clockstr[2]); //show m high
039D B602 lda *_clockstr+2
039F 87 psha
03A0 A607 lda #7
03A2 87 psha
03A3 A601 lda #1
03A5 87 psha
03A6 CD0000 jsr _lcdshow1
03A9 A703 ais #3
03AB ; lcdshow1(1,8, clockstr[3]); //show m low
03AB B603 lda *_clockstr+3
03AD 87 psha
03AE A608 lda #8
03B0 87 psha
03B1 A601 lda #1
03B3 87 psha
03B4 CD0000 jsr _lcdshow1
03B7 A703 ais #3
03B9 ; lcdshow1(1,9,':'); //show '.'
03B9 A63A lda #58
03BB 87 psha
03BC A609 lda #9
03BE 87 psha
03BF A601 lda #1
03C1 87 psha
03C2 CD0000 jsr _lcdshow1
03C5 A703 ais #3
03C7 ; lcdshow1(1,10, clockstr[4]); //show s high
03C7 B604 lda *_clockstr+4
03C9 87 psha
03CA A60A lda #10
03CC 87 psha
03CD A601 lda #1
03CF 87 psha
03D0 CD0000 jsr _lcdshow1
03D3 A703 ais #3
03D5 ; lcdshow1(1,11, clockstr[5]); //show s low
03D5 B605 lda *_clockstr+5
03D7 87 psha
03D8 A60B lda #11
03DA 87 psha
03DB A601 lda #1
03DD 87 psha
03DE CD0000 jsr _lcdshow1
03E1 A703 ais #3
03E3 95 tsx
03E4 ; }
03E4 CC04B0 jmp L38
03E7 L37:
03E7 ; else
03E7 ; {
03E7 ;
03E7 ; lcdshow1(0,2,datestr[0]); //show year high1
03E7 B600 lda *_datestr
03E9 87 psha
03EA A602 lda #2
03EC 87 psha
03ED 4F clra
03EE 87 psha
03EF CD0000 jsr _lcdshow1
03F2 A703 ais #3
03F4 ; lcdshow1(0,3,datestr[1]); //show year high2
03F4 B601 lda *_datestr+1
03F6 87 psha
03F7 A603 lda #3
03F9 87 psha
03FA 4F clra
03FB 87 psha
03FC CD0000 jsr _lcdshow1
03FF A703 ais #3
0401 ; lcdshow1(0,4,datestr[2]); //show year low1
0401 B602 lda *_datestr+2
0403 87 psha
0404 A604 lda #4
0406 87 psha
0407 4F clra
0408 87 psha
0409 CD0000 jsr _lcdshow1
040C A703 ais #3
040E ; lcdshow1(0,5,datestr[3]); //show year low2
040E B603 lda *_datestr+3
0410 87 psha
0411 A605 lda #5
0413 87 psha
0414 4F clra
0415 87 psha
0416 CD0000 jsr _lcdshow1
0419 A703 ais #3
041B ; lcdshow1(0,6,'-'); //show '.'
041B A62D lda #45
041D 87 psha
041E A606 lda #6
0420 87 psha
0421 4F clra
0422 87 psha
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -