⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 飞思卡尔的电子钟和电子琴的课程设计,包括源代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 019C           ;              c -> 0,X
 019C           ;           temp -> 4,X
 019C           ;              i -> 6,X
 019C           ;              j -> 7,X
 019C           _displaytime::
 019C A7F8              ais #-8
 019E 95                tsx
 019F           ; }
 019F           ; 
 019F           ; void displaytime(void){                       //显示时间处理
 019F           ;       if(showtime==0x01){                     //可显示时才处理
 019F B602              lda *_showtime
 01A1 A101              cmp #1
 01A3 2703              beq X1
 01A5 CC03E6            jmp L72
 01A8           X1:
 01A8           ; 		unsigned char i=0,j,c[4];
 01A8 6F06              clr 6,X
 01AA           ;               int temp=date[0];
 01AA B614              lda *_date
 01AC E704              sta 4,X
 01AE B615              lda *_date+1
 01B0 E705              sta 5,X
 01B2 6F07              clr 7,X
 01B4 2042              bra L77
 01B6           L74:
 01B6 3500              sthx *__r0
 01B8 3F00              clr *__r2
 01BA E607              lda 7,X
 01BC BB00              add *__r1
 01BE B700              sta *__r1
 01C0 B600              lda *__r2
 01C2 B900              adc *__r0
 01C4 B700              sta *__r0
 01C6 E605              lda 5,X
 01C8 B700              sta *__rlo
 01CA E604              lda 4,X
 01CC B700              sta *__rhi
 01CE A60A              lda #10
 01D0 87                psha
 01D1 4F                clra
 01D2 87                psha
 01D3 CD0000            jsr __divmod16s
 01D6 86                pula
 01D7 86                pula
 01D8 5500              ldhx *__r0
 01DA F7                sta ,x
 01DB 95                tsx
 01DC E605              lda 5,X
 01DE B700              sta *__rlo
 01E0 E604              lda 4,X
 01E2 B700              sta *__rhi
 01E4 A60A              lda #10
 01E6 87                psha
 01E7 4F                clra
 01E8 87                psha
 01E9 CD0000            jsr __divmod16s
 01EC A702              ais #2
 01EE B600              lda *__rhi
 01F0 E704              sta 4,X
 01F2 B600              lda *__rlo
 01F4 E705              sta 5,X
 01F6           L75:
 01F6 6C07              inc 7,X
 01F8           L77:
 01F8           ;   		for(j=0;j<4;j++){		//年中的四位处理,放临时变量
 01F8 E607              lda 7,X
 01FA A104              cmp #4
 01FC 25B8              blo L74
 01FE 6F07              clr 7,X
 0200 203F              bra L81
 0202           L78:
 0202 3500              sthx *__r0
 0204 3F00              clr *__r2
 0206 E607              lda 7,X
 0208 B700              sta *__r3
 020A A603              lda #3
 020C B000              sub *__r3
 020E B700              sta *__r3
 0210 4F                clra
 0211 B200              sbc *__r2
 0213 B700              sta *__r2
 0215 B600              lda *__r3
 0217 BB00              add *__r1
 0219 B700              sta *__r1
 021B B600              lda *__r2
 021D B900              adc *__r0
 021F B700              sta *__r0
 0221 5500              ldhx *__r0
 0223 F6                lda ,x
 0224 95                tsx
 0225 AB30              add #48
 0227 B700              sta *__r1
 0229 3F00              clr *__r2
 022B E606              lda 6,X
 022D AB44              add #<_show
 022F B700              sta *__r3
 0231 B600              lda *__r2
 0233 A944              adc #>_show
 0235 B700              sta *__r2
 0237 B600              lda *__r1
 0239 5500              ldhx *__r2
 023B F7                sta ,x
 023C 95                tsx
 023D 6C06              inc 6,X
 023F           L79:
 023F 6C07              inc 7,X
 0241           L81:
 0241           ;   		   c[j]=(char)(temp%10);
 0241           ;   		   temp/=10;
 0241           ;  	 	}
 0241           ;   		for(j=0;j<4;j++){		//年存到显示单元中
 0241 E607              lda 7,X
 0243 A104              cmp #4
 0245 25BB              blo L78
 0247           ;                  show[i]=c[3-j]+0x30;i++;
 0247           ;               }
 0247           ;               show[i]='-';i++;
 0247 3F00              clr *__r0
 0249 E606              lda 6,X
 024B AB44              add #<_show
 024D B700              sta *__r1
 024F B600              lda *__r0
 0251 A944              adc #>_show
 0253 B700              sta *__r0
 0255 A62D              lda #45
 0257 5500              ldhx *__r0
 0259 F7                sta ,x
 025A 95                tsx
 025B 6C06              inc 6,X
 025D 6F07              clr 7,X
 025F CC0306            jmp L85
 0262           L82:
 0262           ;  	 	for(j=0;j<2;j++){		//月日存到显示单元中
 0262           ;  	 	   show[i]=(char)date[j+1]/10+0x30;i++;
 0262 3F00              clr *__r0
 0264 E607              lda 7,X
 0266 B700              sta *__r1
 0268 5500              ldhx *__r0
 026A AF01              aix #1
 026C 3500              sthx *__r0
 026E 3800              lsl *__r1
 0270 3900              rol *__r0
 0272 B600              lda *__r1
 0274 AB14              add #<_date
 0276 B700              sta *__r1
 0278 B600              lda *__r0
 027A A914              adc #>_date
 027C B700              sta *__r0
 027E 5500              ldhx *__r0
 0280 E601              lda 1,x
 0282 95                tsx
 0283 87                psha
 0284 A60A              lda #10
 0286 87                psha
 0287 CD0000            jsr __div8s
 028A A702              ais #2
 028C AB30              add #48
 028E B700              sta *__r1
 0290 3F00              clr *__r2
 0292 E606              lda 6,X
 0294 AB44              add #<_show
 0296 B700              sta *__r3
 0298 B600              lda *__r2
 029A A944              adc #>_show
 029C B700              sta *__r2
 029E B600              lda *__r1
 02A0 5500              ldhx *__r2
 02A2 F7                sta ,x
 02A3 95                tsx
 02A4 6C06              inc 6,X
 02A6           ;                  show[i]=(char)date[j+1]%10+0x30;i++;
 02A6 3F00              clr *__r0
 02A8 E607              lda 7,X
 02AA B700              sta *__r1
 02AC 5500              ldhx *__r0
 02AE AF01              aix #1
 02B0 3500              sthx *__r0
 02B2 3800              lsl *__r1
 02B4 3900              rol *__r0
 02B6 B600              lda *__r1
 02B8 AB14              add #<_date
 02BA B700              sta *__r1
 02BC B600              lda *__r0
 02BE A914              adc #>_date
 02C0 B700              sta *__r0
 02C2 5500              ldhx *__r0
 02C4 E601              lda 1,x
 02C6 95                tsx
 02C7 87                psha
 02C8 A60A              lda #10
 02CA 87                psha
 02CB CD0000            jsr __mod8s
 02CE A702              ais #2
 02D0 AB30              add #48
 02D2 B700              sta *__r1
 02D4 3F00              clr *__r2
 02D6 E606              lda 6,X
 02D8 AB44              add #<_show
 02DA B700              sta *__r3
 02DC B600              lda *__r2
 02DE A944              adc #>_show
 02E0 B700              sta *__r2
 02E2 B600              lda *__r1
 02E4 5500              ldhx *__r2
 02E6 F7                sta ,x
 02E7 95                tsx
 02E8 6C06              inc 6,X
 02EA           ;                  if(j==0){show[i]='-';i++;}
 02EA E607              lda 7,X
 02EC 2616              bne L86
 02EE 3F00              clr *__r0
 02F0 E606              lda 6,X
 02F2 AB44              add #<_show
 02F4 B700              sta *__r1
 02F6 B600              lda *__r0
 02F8 A944              adc #>_show
 02FA B700              sta *__r0
 02FC A62D              lda #45
 02FE 5500              ldhx *__r0
 0300 F7                sta ,x
 0301 95                tsx
 0302 6C06              inc 6,X
 0304           L86:
 0304           L83:
 0304 6C07              inc 7,X
 0306           L85:
 0306 E607              lda 7,X
 0308 A102              cmp #2
 030A 2403              bhs X2
 030C CC0262            jmp L82
 030F           X2:
 030F           ;  	 	}
 030F           ;  	 	show[i]='E';i++;		//换行
 030F 3F00              clr *__r0
 0311 E606              lda 6,X
 0313 AB44              add #<_show
 0315 B700              sta *__r1
 0317 B600              lda *__r0
 0319 A944              adc #>_show
 031B B700              sta *__r0
 031D A645              lda #69
 031F 5500              ldhx *__r0
 0321 F7                sta ,x
 0322 95                tsx
 0323 6C06              inc 6,X
 0325 6F07              clr 7,X
 0327 CC03AC            jmp L91
 032A           L88:
 032A           ;  	 	for(j=0;j<3;j++){		//时,分,秒存到显示单元中
 032A           ; 	   		show[i]=0x30+(time[j]/10);i++;
 032A 3F00              clr *__r0
 032C E607              lda 7,X
 032E AB1A              add #<_time
 0330 B700              sta *__r1
 0332 B600              lda *__r0
 0334 A91A              adc #>_time
 0336 B700              sta *__r0
 0338 5500              ldhx *__r0
 033A F6                lda ,x
 033B AE0A              ldx #10
 033D 8C                clrh
 033E 52                div
 033F 95                tsx
 0340 AB30              add #48
 0342 B700              sta *__r1
 0344 3F00              clr *__r2
 0346 E606              lda 6,X
 0348 AB44              add #<_show
 034A B700              sta *__r3
 034C B600              lda *__r2
 034E A944              adc #>_show
 0350 B700              sta *__r2
 0352 B600              lda *__r1
 0354 5500              ldhx *__r2
 0356 F7                sta ,x
 0357 95                tsx
 0358 6C06              inc 6,X
 035A           ;               show[i]=0x30+(time[j]%10);i++;
 035A 3F00              clr *__r0
 035C E607              lda 7,X
 035E AB1A              add #<_time
 0360 B700              sta *__r1
 0362 B600              lda *__r0
 0364 A91A              adc #>_time
 0366 B700              sta *__r0
 0368 5500              ldhx *__r0
 036A F6                lda ,x
 036B AE0A              ldx #10
 036D 8C                clrh
 036E 52                div
 036F 8B                pshh
 0370 86                pula
 0371 95                tsx
 0372 AB30              add #48
 0374 B700              sta *__r1
 0376 3F00              clr *__r2
 0378 E606              lda 6,X
 037A AB44              add #<_show
 037C B700              sta *__r3
 037E B600              lda *__r2
 0380 A944              adc #>_show
 0382 B700              sta *__r2
 0384 B600              lda *__r1
 0386 5500              ldhx *__r2
 0388 F7                sta ,x
 0389 95                tsx
 038A 6C06              inc 6,X
 038C           ;               if(j==2)break;
 038C E607              lda 7,X
 038E A102              cmp #2
 0390 2602              bne L92
 0392 2021              bra L90
 0394           L92:
 0394 3F00              clr *__r0
 0396 E606              lda 6,X
 0398 AB44              add #<_show
 039A B700              sta *__r1
 039C B600              lda *__r0
 039E A944              adc #>_show
 03A0 B700              sta *__r0
 03A2 A63A              lda #58
 03A4 5500              ldhx *__r0
 03A6 F7                sta ,x
 03A7 95                tsx
 03A8 6C06              inc 6,X
 03AA           L89:
 03AA 6C07              inc 7,X
 03AC           L91:
 03AC E607              lda 7,X
 03AE A103              cmp #3
 03B0 2403              bhs X3
 03B2 CC032A            jmp L88
 03B5           X3:
 03B5           L90:
 03B5           ;   	    	 show[i]=':';i++;
 03B5           ;  	   	}
 03B5           ;  	   	show[i]='E';
 03B5 3F00              clr *__r0
 03B7 E606              lda 6,X
 03B9 AB44              add #<_show
 03BB B700              sta *__r1
 03BD B600              lda *__r0
 03BF A944              adc #>_show
 03C1 B700              sta *__r0
 03C3 A645              lda #69
 03C5 5500              ldhx *__r0
 03C7 F7                sta ,x
 03C8           ;                lcdshow((unsigned char *)show);                        //显示日期时间
 03C8 A644              lda #<_show
 03CA 87                psha
 03CB A644              lda #>_show
 03CD 87                psha
 03CE CD0000            jsr _lcdshow
 03D1 A702              ais #2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -