📄 main.lis
字号:
020F 87 psha
0210 CD0000 jsr _Transmission
0213 A705 ais #5
0215 ; Lcdshowtime();
0215 CD0000 jsr _Lcdshowtime
0218 ; LcdShowCursor(); //开光标显示,闪烁
0218 CD0000 jsr _LcdShowCursor
021B ; MoveCursor((1+l),(4+k));
021B B600 lda *_k
021D AB04 add #4
021F 87 psha
0220 B601 lda *_l
0222 AB01 add #1
0224 87 psha
0225 CD0000 jsr _MoveCursor
0228 A702 ais #2
022A 95 tsx
022B ; Key=0;
022B 3F01 clr *_Key
022D ; }
022D L107:
022D L89:
022D CC0164 jmp L88
0230 X0:
0230 ;
0230 ; }
0230 ;
0230 ; }
0230 L86:
0230 ;
0230 ; if(Key=='2') //选择子菜单2
0230 B601 lda *_Key
0232 A132 cmp #50
0234 2703 beq X6
0236 CC0329 jmp L109
0239 X6:
0239 ; {
0239 ; Lcdshowalarm();
0239 CD0000 jsr _Lcdshowalarm
023C ; LcdShowCursor(); //开光标显示,闪烁
023C CD0000 jsr _LcdShowCursor
023F ; MoveCursor(2,12); //光标初始位置(2,5),第二行第五列
023F A60C lda #12
0241 87 psha
0242 A602 lda #2
0244 87 psha
0245 CD0000 jsr _MoveCursor
0248 A702 ais #2
024A 95 tsx
024B ; Key=0;
024B 3F01 clr *_Key
024D CC0326 jmp L112
0250 L111:
0250 ; while(1)
0250 ; {
0250 ;
0250 ; if(Key=='#') //光标右移
0250 B601 lda *_Key
0252 A123 cmp #35
0254 2644 bne L114
0256 ; {
0256 ; ++k;
0256 3C00 inc *_k
0258 ; if(l%2==0) //现在光标在第一行
0258 B601 lda *_l
025A AE02 ldx #2
025C 8C clrh
025D 52 div
025E 8B pshh
025F 86 pula
0260 95 tsx
0261 4D tsta
0262 261A bne L116
0264 ; {
0264 ; if(k>9) k=0; //现在光标在末端
0264 B600 lda *_k
0266 A109 cmp #9
0268 2302 bls L118
026A 3F00 clr *_k
026C L118:
026C ; MoveCursor((1+l),(4+k));
026C B600 lda *_k
026E AB04 add #4
0270 87 psha
0271 B601 lda *_l
0273 AB01 add #1
0275 87 psha
0276 CD0000 jsr _MoveCursor
0279 A702 ais #2
027B 95 tsx
027C ; }
027C 201A bra L117
027E L116:
027E ; else //现在光标在第二行
027E ; {
027E ; if(k>8) k=1; //现在光标在末端
027E B600 lda *_k
0280 A108 cmp #8
0282 2304 bls L120
0284 A601 lda #1
0286 B700 sta *_k
0288 L120:
0288 ; MoveCursor((1+l),(4+k));
0288 B600 lda *_k
028A AB04 add #4
028C 87 psha
028D B601 lda *_l
028F AB01 add #1
0291 87 psha
0292 CD0000 jsr _MoveCursor
0295 A702 ais #2
0297 95 tsx
0298 ; }
0298 L117:
0298 ; Key=0;
0298 3F01 clr *_Key
029A ;
029A ; }
029A L114:
029A ; if(Key=='*') //光标下移
029A B601 lda *_Key
029C A12A cmp #42
029E 262A bne L122
02A0 ; {
02A0 ; ++l;
02A0 3C01 inc *_l
02A2 ; if(k==0) k++; //现在光标在第一行始端
02A2 B600 lda *_k
02A4 2602 bne L124
02A6 3C00 inc *_k
02A8 L124:
02A8 ; if(k==9) k--; //现在光标在第一行末端
02A8 B600 lda *_k
02AA A109 cmp #9
02AC 2602 bne L126
02AE 3A00 dec *_k
02B0 L126:
02B0 ; if(l>1) l=0; //现在光标在第二行
02B0 B601 lda *_l
02B2 A101 cmp #1
02B4 2302 bls L128
02B6 3F01 clr *_l
02B8 L128:
02B8 ; MoveCursor((1+l),(4+k));
02B8 B600 lda *_k
02BA AB04 add #4
02BC 87 psha
02BD B601 lda *_l
02BF AB01 add #1
02C1 87 psha
02C2 CD0000 jsr _MoveCursor
02C5 A702 ais #2
02C7 95 tsx
02C8 ; Key=0;
02C8 3F01 clr *_Key
02CA ; }
02CA L122:
02CA ; if(Key=='B')
02CA B601 lda *_Key
02CC A142 cmp #66
02CE 2605 bne L130
02D0 ; {
02D0 ; Key=0;
02D0 3F01 clr *_Key
02D2 ; goto MENU; //返回
02D2 CC0130 jmp L80
02D5 L130:
02D5 ; }
02D5 ; if(Key=='D') //按下确定键
02D5 B601 lda *_Key
02D7 A144 cmp #68
02D9 2604 bne L132
02DB ; {
02DB ; Key=0;
02DB 3F01 clr *_Key
02DD ; goto BEGING;
02DD 204D bra L40
02DF L132:
02DF ; }
02DF ; if(Key!=0&&Discriminant(Key))
02DF B601 lda *_Key
02E1 2743 beq L134
02E3 B601 lda *_Key
02E5 87 psha
02E6 CD0000 jsr _Discriminant
02E9 A701 ais #1
02EB 95 tsx
02EC B700 sta *__r1
02EE 2736 beq L134
02F0 ; {
02F0 ; Keyvalue=Key-0x30;
02F0 B601 lda *_Key
02F2 A030 sub #48
02F4 E704 sta 4,X
02F6 ; Transmission(Keyvalue,(unsigned char *) alarm,(1+l),(4+k));
02F6 B600 lda *_k
02F8 AB04 add #4
02FA 87 psha
02FB B601 lda *_l
02FD AB01 add #1
02FF 87 psha
0300 A602 lda #<_alarm
0302 87 psha
0303 A602 lda #>_alarm
0305 87 psha
0306 E604 lda 4,X
0308 87 psha
0309 CD0000 jsr _Transmission
030C A705 ais #5
030E ; Lcdshowalarm();
030E CD0000 jsr _Lcdshowalarm
0311 ; LcdShowCursor(); //开光标显示,闪烁
0311 CD0000 jsr _LcdShowCursor
0314 ; MoveCursor((1+l),(4+k));
0314 B600 lda *_k
0316 AB04 add #4
0318 87 psha
0319 B601 lda *_l
031B AB01 add #1
031D 87 psha
031E CD0000 jsr _MoveCursor
0321 A702 ais #2
0323 95 tsx
0324 ; Key=0;
0324 3F01 clr *_Key
0326 ; }
0326 L134:
0326 L112:
0326 CC0250 jmp L111
0329 X1:
0329 ;
0329 ; }
0329 ; }
0329 L109:
0329 L82:
0329 CC0139 jmp L81
032C X2:
032C ;
032C ;
032C ;
032C ; }
032C ;
032C ; }
032C L78:
032C L40:
032C CC008B jmp L39
032F X3:
032F L10:
032F A705 ais #5
0331 .dbline 0 ; func end
0331 81 rts
.area bss
0000 _t::
0000 .blkb 1
0001 _Key::
0001 .blkb 1
0002 _alarm::
0002 .blkb 14
0010 _time::
0010 .blkb 14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -