📄 lcdshow.lis
字号:
0244 ; datestr[j]=(unsigned char)i+0x30;
0244 F6 lda ,X
0245 AB30 add #48
0247 B700 sta *__r1
0249 3F00 clr *__r2
024B E601 lda 1,X
024D AB00 add #<_datestr
024F B700 sta *__r3
0251 B600 lda *__r2
0253 A900 adc #>_datestr
0255 B700 sta *__r2
0257 B600 lda *__r1
0259 5500 ldhx *__r2
025B F7 sta ,x
025C 95 tsx
025D ; if(j<=3)data[2]=data[2]-10^(3-j);
025D E601 lda 1,X
025F A103 cmp #3
0261 220E bhi L54
0263 A603 lda #3
0265 E001 sub 1,X
0267 B700 sta *__r0
0269 B608 lda *_data+2
026B A00A sub #10
026D B800 eor *__r0
026F B708 sta *_data+2
0271 L54:
0271 ; if(j>=5&&j<=6)data[1]=data[1]-10^(j-5);
0271 E601 lda 1,X
0273 A105 cmp #5
0275 2510 blo L58
0277 A106 cmp #6
0279 220C bhi L58
027B A005 sub #5
027D B700 sta *__r0
027F B607 lda *_data+1
0281 A00A sub #10
0283 B800 eor *__r0
0285 B707 sta *_data+1
0287 L58:
0287 ; if(j>=8&&j<=9)data[0]=data[0]-10^(j-8);
0287 E601 lda 1,X
0289 A108 cmp #8
028B 2510 blo L62
028D A109 cmp #9
028F 220C bhi L62
0291 A008 sub #8
0293 B700 sta *__r0
0295 B606 lda *_data
0297 A00A sub #10
0299 B800 eor *__r0
029B B706 sta *_data
029D L62:
029D ; if(j>=10&&j<=11)time[2]=time[2]-10^(j-10);
029D E601 lda 1,X
029F A10A cmp #10
02A1 2528 blo L64
02A3 A10B cmp #11
02A5 2224 bhi L64
02A7 3F00 clr *__r0
02A9 A00A sub #10
02AB B700 sta *__r1
02AD B600 lda *__r0
02AF A200 sbc #0
02B1 B700 sta *__r0
02B3 B605 lda *_time+4+1
02B5 A00A sub #10
02B7 B700 sta *__r3
02B9 B604 lda *_time+4
02BB A200 sbc #0
02BD B700 sta *__r2
02BF B600 lda *__r3
02C1 B800 eor *__r1
02C3 B705 sta *_time+4+1
02C5 B600 lda *__r2
02C7 B800 eor *__r0
02C9 B704 sta *_time+4
02CB L64:
02CB ; if(j>=13&&j<=14)time[1]=time[1]-10^(j-13);
02CB E601 lda 1,X
02CD A10D cmp #13
02CF 2528 blo L68
02D1 A10E cmp #14
02D3 2224 bhi L68
02D5 3F00 clr *__r0
02D7 A00D sub #13
02D9 B700 sta *__r1
02DB B600 lda *__r0
02DD A200 sbc #0
02DF B700 sta *__r0
02E1 B603 lda *_time+2+1
02E3 A00A sub #10
02E5 B700 sta *__r3
02E7 B602 lda *_time+2
02E9 A200 sbc #0
02EB B700 sta *__r2
02ED B600 lda *__r3
02EF B800 eor *__r1
02F1 B703 sta *_time+2+1
02F3 B600 lda *__r2
02F5 B800 eor *__r0
02F7 B702 sta *_time+2
02F9 L68:
02F9 ; if(j>=15&&j<=16)time[0]=time[0]-10^(j-15);
02F9 E601 lda 1,X
02FB A10F cmp #15
02FD 2528 blo L72
02FF A110 cmp #16
0301 2224 bhi L72
0303 3F00 clr *__r0
0305 A00F sub #15
0307 B700 sta *__r1
0309 B600 lda *__r0
030B A200 sbc #0
030D B700 sta *__r0
030F B601 lda *_time+1
0311 A00A sub #10
0313 B700 sta *__r3
0315 B600 lda *_time
0317 A200 sbc #0
0319 B700 sta *__r2
031B B600 lda *__r3
031D B800 eor *__r1
031F B701 sta *_time+1
0321 B600 lda *__r2
0323 B800 eor *__r0
0325 B700 sta *_time
0327 L72:
0327 L53:
0327 A702 ais #2
0329 .dbline 0 ; func end
0329 81 rts
032A ; i -> 0,X
032A ; j -> 1,X
032A _up::
032A A7FE ais #-2
032C 95 tsx
032D ; }
032D ; void up(void) ////进入右移时间模式
032D ; {
032D ; //
032D ; unsigned char i,j;
032D ; j=flat;
032D B600 lda *_flat
032F E701 sta 1,X
0331 ; i=(unsigned char)datestr[j]-0x30;
0331 3F00 clr *__r0
0333 AB00 add #<_datestr
0335 B700 sta *__r1
0337 B600 lda *__r0
0339 A900 adc #>_datestr
033B B700 sta *__r0
033D 5500 ldhx *__r0
033F F6 lda ,x
0340 95 tsx
0341 A030 sub #48
0343 F7 sta ,X
0344 ; i=i+1;
0344 7C inc ,X
0345 ; datestr[j]=(unsigned char)i+0x30;
0345 F6 lda ,X
0346 AB30 add #48
0348 B700 sta *__r1
034A 3F00 clr *__r2
034C E601 lda 1,X
034E AB00 add #<_datestr
0350 B700 sta *__r3
0352 B600 lda *__r2
0354 A900 adc #>_datestr
0356 B700 sta *__r2
0358 B600 lda *__r1
035A 5500 ldhx *__r2
035C F7 sta ,x
035D 95 tsx
035E ; if(j<=3)data[2]=data[2]+10^(3-j);
035E E601 lda 1,X
0360 A103 cmp #3
0362 220E bhi L75
0364 A603 lda #3
0366 E001 sub 1,X
0368 B700 sta *__r0
036A B608 lda *_data+2
036C AB0A add #10
036E B800 eor *__r0
0370 B708 sta *_data+2
0372 L75:
0372 ; if(j>=5&&j<=6)data[1]=data[1]+10^(j-5);
0372 E601 lda 1,X
0374 A105 cmp #5
0376 2510 blo L79
0378 A106 cmp #6
037A 220C bhi L79
037C A005 sub #5
037E B700 sta *__r0
0380 B607 lda *_data+1
0382 AB0A add #10
0384 B800 eor *__r0
0386 B707 sta *_data+1
0388 L79:
0388 ; if(j>=8&&j<=9)data[0]=data[0]+10^(j-8);
0388 E601 lda 1,X
038A A108 cmp #8
038C 2510 blo L83
038E A109 cmp #9
0390 220C bhi L83
0392 A008 sub #8
0394 B700 sta *__r0
0396 B606 lda *_data
0398 AB0A add #10
039A B800 eor *__r0
039C B706 sta *_data
039E L83:
039E ; if(j>=10&&j<=11)time[2]=time[2]+10^(j-10);
039E E601 lda 1,X
03A0 A10A cmp #10
03A2 2523 blo L85
03A4 A10B cmp #11
03A6 221F bhi L85
03A8 3F00 clr *__r0
03AA A00A sub #10
03AC B700 sta *__r1
03AE B600 lda *__r0
03B0 A200 sbc #0
03B2 B700 sta *__r0
03B4 5504 ldhx *_time+4
03B6 AF0A aix #10
03B8 3500 sthx *__r2
03BA 95 tsx
03BB B600 lda *__r3
03BD B800 eor *__r1
03BF B705 sta *_time+4+1
03C1 B600 lda *__r2
03C3 B800 eor *__r0
03C5 B704 sta *_time+4
03C7 L85:
03C7 ; if(j>=13&&j<=14)time[1]=time[1]+10^(j-13);
03C7 E601 lda 1,X
03C9 A10D cmp #13
03CB 2523 blo L89
03CD A10E cmp #14
03CF 221F bhi L89
03D1 3F00 clr *__r0
03D3 A00D sub #13
03D5 B700 sta *__r1
03D7 B600 lda *__r0
03D9 A200 sbc #0
03DB B700 sta *__r0
03DD 5502 ldhx *_time+2
03DF AF0A aix #10
03E1 3500 sthx *__r2
03E3 95 tsx
03E4 B600 lda *__r3
03E6 B800 eor *__r1
03E8 B703 sta *_time+2+1
03EA B600 lda *__r2
03EC B800 eor *__r0
03EE B702 sta *_time+2
03F0 L89:
03F0 ; if(j>=15&&j<=16)time[0]=time[0]+10^(j-15);
03F0 E601 lda 1,X
03F2 A10F cmp #15
03F4 2523 blo L93
03F6 A110 cmp #16
03F8 221F bhi L93
03FA 3F00 clr *__r0
03FC A00F sub #15
03FE B700 sta *__r1
0400 B600 lda *__r0
0402 A200 sbc #0
0404 B700 sta *__r0
0406 5500 ldhx *_time
0408 AF0A aix #10
040A 3500 sthx *__r2
040C 95 tsx
040D B600 lda *__r3
040F B800 eor *__r1
0411 B701 sta *_time+1
0413 B600 lda *__r2
0415 B800 eor *__r0
0417 B700 sta *_time
0419 L93:
0419 ; lcdshow((unsigned char *)datestr,(unsigned char *)clockstr);
0419 A600 lda #<_clockstr
041B 87 psha
041C A600 lda #>_clockstr
041E 87 psha
041F A600 lda #<_datestr
0421 87 psha
0422 A600 lda #>_datestr
0424 87 psha
0425 CD006D jsr _lcdshow
0428 A704 ais #4
042A 95 tsx
042B L74:
042B A702 ais #2
042D .dbline 0 ; func end
042D 81 rts
.area bss
0000 _time::
0000 .blkb 6
0006 _data::
0006 .blkb 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -