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

📄 main.lis

📁 这是我自己在做实验设计时做的,用摩托罗拉飞思卡尔做的一个多功能电子钟
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02E2 B600              lda *__r1
 02E4 5500              ldhx *__r2
 02E6 F7                sta ,x
 02E7 95                tsx
 02E8 E602              lda 2,X
 02EA AE0A              ldx #10
 02EC 8C                clrh
 02ED 52                div
 02EE 95                tsx
 02EF E702              sta 2,X
 02F1           L55:
 02F1 6C03              inc 3,X
 02F3           L57:
 02F3 E603              lda 3,X
 02F5 A107              cmp #7
 02F7 25CE              blo L54
 02F9           ;       {
 02F9           ;               LCD_buff[i]=tmpchar%10+48;
 02F9           ;               tmpchar=tmpchar/10;
 02F9           ;       }
 02F9           ;       swap(&LCD_buff[6],&LCD_buff[5]);
 02F9 450013            ldhx #_LCD_buff+5
 02FC 89                pshx
 02FD 8B                pshh
 02FE 450014            ldhx #_LCD_buff+6
 0301 89                pshx
 0302 8B                pshh
 0303 CD0847            jsr _swap
 0306 A704              ais #4
 0308 95                tsx
 0309           ;       LCD_buff[i]='-';
 0309 3F00              clr *__r0
 030B E603              lda 3,X
 030D AB0E              add #<_LCD_buff
 030F B700              sta *__r1
 0311 B600              lda *__r0
 0313 A90E              adc #>_LCD_buff
 0315 B700              sta *__r0
 0317 A62D              lda #45
 0319 5500              ldhx *__r0
 031B F7                sta ,x
 031C 95                tsx
 031D           ;       tmpchar=Time.day;
 031D E607              lda 7,X
 031F AB03              add #3
 0321 B700              sta *__r1
 0323 E606              lda 6,X
 0325 A900              adc #0
 0327 B700              sta *__r0
 0329 5500              ldhx *__r0
 032B F6                lda ,x
 032C 95                tsx
 032D E702              sta 2,X
 032F           ;       for(i=8;i<10;i++)
 032F A608              lda #8
 0331 E703              sta 3,X
 0333 202C              bra L63
 0335           L60:
 0335 E602              lda 2,X
 0337 AE0A              ldx #10
 0339 8C                clrh
 033A 52                div
 033B 8B                pshh
 033C 86                pula
 033D 95                tsx
 033E AB30              add #48
 0340 B700              sta *__r1
 0342 3F00              clr *__r2
 0344 E603              lda 3,X
 0346 AB0E              add #<_LCD_buff
 0348 B700              sta *__r3
 034A B600              lda *__r2
 034C A90E              adc #>_LCD_buff
 034E B700              sta *__r2
 0350 B600              lda *__r1
 0352 5500              ldhx *__r2
 0354 F7                sta ,x
 0355 95                tsx
 0356 E602              lda 2,X
 0358 AE0A              ldx #10
 035A 8C                clrh
 035B 52                div
 035C 95                tsx
 035D E702              sta 2,X
 035F           L61:
 035F 6C03              inc 3,X
 0361           L63:
 0361 E603              lda 3,X
 0363 A10A              cmp #10
 0365 25CE              blo L60
 0367           ;       {
 0367           ;               LCD_buff[i]=tmpchar%10+48;
 0367           ;               tmpchar=tmpchar/10;
 0367           ;       }
 0367           ;       swap(&LCD_buff[9],&LCD_buff[8]);
 0367 450016            ldhx #_LCD_buff+8
 036A 89                pshx
 036B 8B                pshh
 036C 450017            ldhx #_LCD_buff+9
 036F 89                pshx
 0370 8B                pshh
 0371 CD0847            jsr _swap
 0374 A704              ais #4
 0376 95                tsx
 0377           ;       tmpchar=Time.hour;
 0377 E607              lda 7,X
 0379 AB04              add #4
 037B B700              sta *__r1
 037D E606              lda 6,X
 037F A900              adc #0
 0381 B700              sta *__r0
 0383 5500              ldhx *__r0
 0385 F6                lda ,x
 0386 95                tsx
 0387 E702              sta 2,X
 0389           ;       for(i=16;i<18;i++)
 0389 A610              lda #16
 038B E703              sta 3,X
 038D 202C              bra L69
 038F           L66:
 038F E602              lda 2,X
 0391 AE0A              ldx #10
 0393 8C                clrh
 0394 52                div
 0395 8B                pshh
 0396 86                pula
 0397 95                tsx
 0398 AB30              add #48
 039A B700              sta *__r1
 039C 3F00              clr *__r2
 039E E603              lda 3,X
 03A0 AB0E              add #<_LCD_buff
 03A2 B700              sta *__r3
 03A4 B600              lda *__r2
 03A6 A90E              adc #>_LCD_buff
 03A8 B700              sta *__r2
 03AA B600              lda *__r1
 03AC 5500              ldhx *__r2
 03AE F7                sta ,x
 03AF 95                tsx
 03B0 E602              lda 2,X
 03B2 AE0A              ldx #10
 03B4 8C                clrh
 03B5 52                div
 03B6 95                tsx
 03B7 E702              sta 2,X
 03B9           L67:
 03B9 6C03              inc 3,X
 03BB           L69:
 03BB E603              lda 3,X
 03BD A112              cmp #18
 03BF 25CE              blo L66
 03C1           ;       {
 03C1           ;               LCD_buff[i]=tmpchar%10+48;
 03C1           ;               tmpchar=tmpchar/10;
 03C1           ;       }
 03C1           ;       swap(&LCD_buff[17],&LCD_buff[16]);
 03C1 45001E            ldhx #_LCD_buff+16
 03C4 89                pshx
 03C5 8B                pshh
 03C6 45001F            ldhx #_LCD_buff+17
 03C9 89                pshx
 03CA 8B                pshh
 03CB CD0847            jsr _swap
 03CE A704              ais #4
 03D0 95                tsx
 03D1           ;       LCD_buff[i]=':';
 03D1 3F00              clr *__r0
 03D3 E603              lda 3,X
 03D5 AB0E              add #<_LCD_buff
 03D7 B700              sta *__r1
 03D9 B600              lda *__r0
 03DB A90E              adc #>_LCD_buff
 03DD B700              sta *__r0
 03DF A63A              lda #58
 03E1 5500              ldhx *__r0
 03E3 F7                sta ,x
 03E4 95                tsx
 03E5           ;       tmpchar=Time.min;
 03E5 E607              lda 7,X
 03E7 AB05              add #5
 03E9 B700              sta *__r1
 03EB E606              lda 6,X
 03ED A900              adc #0
 03EF B700              sta *__r0
 03F1 5500              ldhx *__r0
 03F3 F6                lda ,x
 03F4 95                tsx
 03F5 E702              sta 2,X
 03F7           ;       for(i=19;i<21;i++)
 03F7 A613              lda #19
 03F9 E703              sta 3,X
 03FB 202C              bra L75
 03FD           L72:
 03FD E602              lda 2,X
 03FF AE0A              ldx #10
 0401 8C                clrh
 0402 52                div
 0403 8B                pshh
 0404 86                pula
 0405 95                tsx
 0406 AB30              add #48
 0408 B700              sta *__r1
 040A 3F00              clr *__r2
 040C E603              lda 3,X
 040E AB0E              add #<_LCD_buff
 0410 B700              sta *__r3
 0412 B600              lda *__r2
 0414 A90E              adc #>_LCD_buff
 0416 B700              sta *__r2
 0418 B600              lda *__r1
 041A 5500              ldhx *__r2
 041C F7                sta ,x
 041D 95                tsx
 041E E602              lda 2,X
 0420 AE0A              ldx #10
 0422 8C                clrh
 0423 52                div
 0424 95                tsx
 0425 E702              sta 2,X
 0427           L73:
 0427 6C03              inc 3,X
 0429           L75:
 0429 E603              lda 3,X
 042B A115              cmp #21
 042D 25CE              blo L72
 042F           ;       {
 042F           ;               LCD_buff[i]=tmpchar%10+48;
 042F           ;               tmpchar=tmpchar/10;
 042F           ;       }
 042F           ;       swap(&LCD_buff[20],&LCD_buff[19]);
 042F 450021            ldhx #_LCD_buff+19
 0432 89                pshx
 0433 8B                pshh
 0434 450022            ldhx #_LCD_buff+20
 0437 89                pshx
 0438 8B                pshh
 0439 CD0847            jsr _swap
 043C A704              ais #4
 043E 95                tsx
 043F           ;       LCD_buff[i]=':';
 043F 3F00              clr *__r0
 0441 E603              lda 3,X
 0443 AB0E              add #<_LCD_buff
 0445 B700              sta *__r1
 0447 B600              lda *__r0
 0449 A90E              adc #>_LCD_buff
 044B B700              sta *__r0
 044D A63A              lda #58
 044F 5500              ldhx *__r0
 0451 F7                sta ,x
 0452 95                tsx
 0453           ;       tmpchar=Time.sec;
 0453 E607              lda 7,X
 0455 AB06              add #6
 0457 B700              sta *__r1
 0459 E606              lda 6,X
 045B A900              adc #0
 045D B700              sta *__r0
 045F 5500              ldhx *__r0
 0461 F6                lda ,x
 0462 95                tsx
 0463 E702              sta 2,X
 0465           ;       for(i=22;i<24;i++)
 0465 A616              lda #22
 0467 E703              sta 3,X
 0469 202C              bra L81
 046B           L78:
 046B E602              lda 2,X
 046D AE0A              ldx #10
 046F 8C                clrh
 0470 52                div
 0471 8B                pshh
 0472 86                pula
 0473 95                tsx
 0474 AB30              add #48
 0476 B700              sta *__r1
 0478 3F00              clr *__r2
 047A E603              lda 3,X
 047C AB0E              add #<_LCD_buff
 047E B700              sta *__r3
 0480 B600              lda *__r2
 0482 A90E              adc #>_LCD_buff
 0484 B700              sta *__r2
 0486 B600              lda *__r1
 0488 5500              ldhx *__r2
 048A F7                sta ,x
 048B 95                tsx
 048C E602              lda 2,X
 048E AE0A              ldx #10
 0490 8C                clrh
 0491 52                div
 0492 95                tsx
 0493 E702              sta 2,X
 0495           L79:
 0495 6C03              inc 3,X
 0497           L81:
 0497 E603              lda 3,X
 0499 A118              cmp #24
 049B 25CE              blo L78
 049D           ;       {
 049D           ;               LCD_buff[i]=tmpchar%10+48;
 049D           ;               tmpchar=tmpchar/10;
 049D           ;       }
 049D           ;       swap(&LCD_buff[23],&LCD_buff[22]);
 049D 450024            ldhx #_LCD_buff+22
 04A0 89                pshx
 04A1 8B                pshh
 04A2 450025            ldhx #_LCD_buff+23
 04A5 89                pshx
 04A6 8B                pshh
 04A7 CD0847            jsr _swap
 04AA A704              ais #4
 04AC 95                tsx
 04AD           L46:
 04AD A704              ais #4
 04AF                   .dbline 0 ; func end
 04AF 81                rts
 04B0           ;           year -> 2,X
 04B0           _Is_yunnian::
 04B0 95                tsx
 04B1           ; }
 04B1           ; 
 04B1           ; char Is_yunnian(unsigned short year)
 04B1           ; {
 04B1           ;       if((year%400==0)||((year%4==0)&&(year%100!=0)))
 04B1 E603              lda 3,X
 04B3 B700              sta *__rlo
 04B5 E602              lda 2,X
 04B7 B700              sta *__rhi
 04B9 A690              lda #-112
 04BB 87                psha
 04BC A601              lda #1
 04BE 87                psha
 04BF CD0000            jsr __divmod16u
 04C2 86                pula
 04C3 B700              sta *__r0
 04C5 86                pula
 04C6 B700              sta *__r1
 04C8 5500              ldhx *__r0
 04CA 650000            cphx #0
 04CD 95                tsx
 04CE 272F              beq L87
 04D0 E603              lda 3,X
 04D2 A403              and #3
 04D4 B700              sta *__r1
 04D6 4F                clra
 04D7 B700              sta *__r0
 04D9 5500              ldhx *__r0
 04DB 650000            cphx #0
 04DE 95                tsx
 04DF 2622              bne L85
 04E1 E603              lda 3,X
 04E3 B700              sta *__rlo
 04E5 E602              lda 2,X
 04E7 B700              sta *__rhi
 04E9 A664              lda #100
 04EB 87                psha
 04EC 4F                clra

⌨️ 快捷键说明

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