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

📄 lcdshow.lis

📁 摩托罗拉的时钟的原代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 035F           ;          case 4:temp[0]=Keyvalue;break;
 035F E606              lda 6,X
 0361 B700              sta *__r1
 0363 E605              lda 5,X
 0365 B700              sta *__r0
 0367 E604              lda 4,X
 0369 5500              ldhx *__r0
 036B F7                sta ,x
 036C 95                tsx
 036D CC03FA            jmp L36
 0370           L39:
 0370           ;          case 5:temp[1]=Keyvalue;break;
 0370 E606              lda 6,X
 0372 AB01              add #1
 0374 B700              sta *__r1
 0376 E605              lda 5,X
 0378 A900              adc #0
 037A B700              sta *__r0
 037C E604              lda 4,X
 037E 5500              ldhx *__r0
 0380 F7                sta ,x
 0381 95                tsx
 0382 2076              bra L36
 0384           L40:
 0384           ;          case 6:temp[2]=Keyvalue;break;
 0384 E606              lda 6,X
 0386 AB02              add #2
 0388 B700              sta *__r1
 038A E605              lda 5,X
 038C A900              adc #0
 038E B700              sta *__r0
 0390 E604              lda 4,X
 0392 5500              ldhx *__r0
 0394 F7                sta ,x
 0395 95                tsx
 0396 2062              bra L36
 0398           L41:
 0398           ;          case 7:temp[3]=Keyvalue;break;
 0398 E606              lda 6,X
 039A AB03              add #3
 039C B700              sta *__r1
 039E E605              lda 5,X
 03A0 A900              adc #0
 03A2 B700              sta *__r0
 03A4 E604              lda 4,X
 03A6 5500              ldhx *__r0
 03A8 F7                sta ,x
 03A9 95                tsx
 03AA 204E              bra L36
 03AC           L42:
 03AC           ;          case 9:temp[4]=Keyvalue;break;
 03AC E606              lda 6,X
 03AE AB04              add #4
 03B0 B700              sta *__r1
 03B2 E605              lda 5,X
 03B4 A900              adc #0
 03B6 B700              sta *__r0
 03B8 E604              lda 4,X
 03BA 5500              ldhx *__r0
 03BC F7                sta ,x
 03BD 95                tsx
 03BE 203A              bra L36
 03C0           L43:
 03C0           ;          case 10:temp[5]=Keyvalue;break;
 03C0 E606              lda 6,X
 03C2 AB05              add #5
 03C4 B700              sta *__r1
 03C6 E605              lda 5,X
 03C8 A900              adc #0
 03CA B700              sta *__r0
 03CC E604              lda 4,X
 03CE 5500              ldhx *__r0
 03D0 F7                sta ,x
 03D1 95                tsx
 03D2 2026              bra L36
 03D4           L44:
 03D4           ;          case 12:temp[6]=Keyvalue;break;
 03D4 E606              lda 6,X
 03D6 AB06              add #6
 03D8 B700              sta *__r1
 03DA E605              lda 5,X
 03DC A900              adc #0
 03DE B700              sta *__r0
 03E0 E604              lda 4,X
 03E2 5500              ldhx *__r0
 03E4 F7                sta ,x
 03E5 95                tsx
 03E6 2012              bra L36
 03E8           L45:
 03E8           ;          case 13:temp[7]=Keyvalue;break;
 03E8 E606              lda 6,X
 03EA AB07              add #7
 03EC B700              sta *__r1
 03EE E605              lda 5,X
 03F0 A900              adc #0
 03F2 B700              sta *__r0
 03F4 E604              lda 4,X
 03F6 5500              ldhx *__r0
 03F8 F7                sta ,x
 03F9 95                tsx
 03FA           L35:
 03FA           L36:
 03FA           ;          
 03FA           ;        }
 03FA           ;     }
 03FA           L33:
 03FA           ;    if(m==2)       //在第二行
 03FA E607              lda 7,X
 03FC A102              cmp #2
 03FE 2703              beq X21
 0400 CC04B6            jmp L46
 0403           X21:
 0403           ;     {
 0403           ;       switch(n)
 0403 7F                clr ,X
 0404 E608              lda 8,X
 0406 E701              sta 1,X
 0408 F6                lda ,X
 0409 2606              bne X9
 040B E601              lda 1,X
 040D A105              cmp #5
 040F 272F              beq L51
 0411           X9:
 0411 F6                lda ,X
 0412 2606              bne X10
 0414 E601              lda 1,X
 0416 A106              cmp #6
 0418 273A              beq L52
 041A           X10:
 041A F6                lda ,X
 041B 2606              bne X11
 041D E601              lda 1,X
 041F A108              cmp #8
 0421 2745              beq L53
 0423           X11:
 0423 F6                lda ,X
 0424 2606              bne X12
 0426 E601              lda 1,X
 0428 A109              cmp #9
 042A 2750              beq L54
 042C           X12:
 042C F6                lda ,X
 042D 2606              bne X13
 042F E601              lda 1,X
 0431 A10B              cmp #11
 0433 275B              beq L55
 0435           X13:
 0435 F6                lda ,X
 0436 2606              bne X14
 0438 E601              lda 1,X
 043A A10C              cmp #12
 043C 2766              beq L56
 043E           X14:
 043E 2076              bra L48
 0440           X15:
 0440           ;        {
 0440           L51:
 0440           ;          case 5:temp[8]=Keyvalue;break;
 0440 E606              lda 6,X
 0442 AB08              add #8
 0444 B700              sta *__r1
 0446 E605              lda 5,X
 0448 A900              adc #0
 044A B700              sta *__r0
 044C E604              lda 4,X
 044E 5500              ldhx *__r0
 0450 F7                sta ,x
 0451 95                tsx
 0452 2062              bra L49
 0454           L52:
 0454           ;          case 6:temp[9]=Keyvalue;break;
 0454 E606              lda 6,X
 0456 AB09              add #9
 0458 B700              sta *__r1
 045A E605              lda 5,X
 045C A900              adc #0
 045E B700              sta *__r0
 0460 E604              lda 4,X
 0462 5500              ldhx *__r0
 0464 F7                sta ,x
 0465 95                tsx
 0466 204E              bra L49
 0468           L53:
 0468           ;          case 8:temp[10]=Keyvalue;break;
 0468 E606              lda 6,X
 046A AB0A              add #10
 046C B700              sta *__r1
 046E E605              lda 5,X
 0470 A900              adc #0
 0472 B700              sta *__r0
 0474 E604              lda 4,X
 0476 5500              ldhx *__r0
 0478 F7                sta ,x
 0479 95                tsx
 047A 203A              bra L49
 047C           L54:
 047C           ;          case 9:temp[11]=Keyvalue;break;
 047C E606              lda 6,X
 047E AB0B              add #11
 0480 B700              sta *__r1
 0482 E605              lda 5,X
 0484 A900              adc #0
 0486 B700              sta *__r0
 0488 E604              lda 4,X
 048A 5500              ldhx *__r0
 048C F7                sta ,x
 048D 95                tsx
 048E 2026              bra L49
 0490           L55:
 0490           ;          case 11:temp[12]=Keyvalue;break;
 0490 E606              lda 6,X
 0492 AB0C              add #12
 0494 B700              sta *__r1
 0496 E605              lda 5,X
 0498 A900              adc #0
 049A B700              sta *__r0
 049C E604              lda 4,X
 049E 5500              ldhx *__r0
 04A0 F7                sta ,x
 04A1 95                tsx
 04A2 2012              bra L49
 04A4           L56:
 04A4           ;          case 12:temp[13]=Keyvalue;break;
 04A4 E606              lda 6,X
 04A6 AB0D              add #13
 04A8 B700              sta *__r1
 04AA E605              lda 5,X
 04AC A900              adc #0
 04AE B700              sta *__r0
 04B0 E604              lda 4,X
 04B2 5500              ldhx *__r0
 04B4 F7                sta ,x
 04B5 95                tsx
 04B6           L48:
 04B6           L49:
 04B6           ;        } 
 04B6           ;     } 
 04B6           L46:
 04B6           L32:
 04B6 A702              ais #2
 04B8                   .dbline 0 ; func end
 04B8 81                rts
 04B9           ;              m -> 2,X
 04B9           _Discriminant::
 04B9 95                tsx
 04BA           ; }
 04BA           ; 
 04BA           ; //判断按下的键是否数字键
 04BA           ; unsigned char Discriminant(unsigned char m)
 04BA           ; { 
 04BA           ;   if(m=='1'||m=='2'||m=='3'||m=='4'||m=='5'||m=='6'||m=='7'||m=='8'||m=='9'||m=='0')
 04BA E602              lda 2,X
 04BC A131              cmp #49
 04BE 2724              beq L68
 04C0 A132              cmp #50
 04C2 2720              beq L68
 04C4 A133              cmp #51
 04C6 271C              beq L68
 04C8 A134              cmp #52
 04CA 2718              beq L68
 04CC A135              cmp #53
 04CE 2714              beq L68
 04D0 A136              cmp #54
 04D2 2710              beq L68
 04D4 A137              cmp #55
 04D6 270C              beq L68
 04D8 A138              cmp #56
 04DA 2708              beq L68
 04DC A139              cmp #57
 04DE 2704              beq L68
 04E0 A130              cmp #48
 04E2 2604              bne L58
 04E4           L68:
 04E4           ;   return 1;
 04E4 A601              lda #1
 04E6 2001              bra L57
 04E8           L58:
 04E8           ;   else return 0;
 04E8 4F                clra
 04E9           L57:
 04E9                   .dbline 0 ; func end
 04E9 81                rts
 04EA           ;              u -> 0,X
 04EA           ;              v -> 1,X
 04EA           _Delay::
 04EA A7FE              ais #-2
 04EC 95                tsx
 04ED           ; }
 04ED           ; 
 04ED           ; void Delay(void)
 04ED           ;   {  unsigned char u;
 04ED           ;      unsigned char v; 
 04ED           ;     for(u=0;u<=250;u++)
 04ED 7F                clr ,X
 04EE 200D              bra L73
 04F0           L70:
 04F0 6F01              clr 1,X
 04F2 2002              bra L77
 04F4           L74:
 04F4           L75:
 04F4 6C01              inc 1,X
 04F6           L77:
 04F6 E601              lda 1,X
 04F8 A1FA              cmp #-6
 04FA 23F8              bls L74
 04FC           L71:
 04FC 7C                inc ,X
 04FD           L73:
 04FD F6                lda ,X
 04FE A1FA              cmp #-6
 0500 23EE              bls L70
 0502           L69:
 0502 A702              ais #2
 0504                   .dbline 0 ; func end
 0504 81                rts
 0505           ;          temp2 -> 4,X
 0505           ;          temp1 -> 2,X
 0505           _Changetime::
 0505 95                tsx
 0506           ;       for(v=0;v<=250;v++);
 0506           ;   }
 0506           ; 
 0506           ; void Changetime(int temp1[],unsigned char temp2[])  //将数组temp1拆分存储到数组temp2
 0506           ; {
 0506           ;    time[0]=temp1[0]/1000;
 0506 E602              lda 2,X
 0508 EE03              ldx 3,X
 050A 87                psha
 050B 8A                pulh
 050C E601              lda 1,x
 050E B700              sta *__r1
 0510 F6                lda ,x
 0511 95                tsx
 0512 B700              sta *__r0
 0514 4E0000            mov *__r1,*__rlo
 0517 4E0000            mov *__r0,*__rhi
 051A A6E8              lda #-24
 051C 87                psha
 051D A603              lda #3
 051F 87                psha
 0520 CD0000            jsr __divmod16s
 0523 A702              ais #2
 0525 4E0000            mov *__rlo,*__r1
 0528 4E0000            mov *__r1,*_time
 052B           ;    time[1]=temp1[0]/100%10;
 052B E602              lda 2,X
 052D EE03              ldx 3,X
 052F 87                psha
 0530 8A                pulh
 0531 E601              lda 1,x
 0533 B700              sta *__r1
 0535 F6                lda ,x
 0536 95                tsx
 0537 B700              sta *__r0
 0539 4E0000            mov *__r1,*__rlo
 053C 4E0000            mov *__r0,*__rhi
 053F A664              lda #100
 0541 87                psha
 0542 4F                clra
 0543 87                psha
 0544 CD0000            jsr __divmod16s
 0547 A702              ais #2
 0549 4E0000            mov *__rhi,*__r0
 054C 4E0000            mov *__rlo,*__r1
 054F 4E0000            mov *__r1,*__rlo
 0552 4E0000            mov *__r0,*__rhi
 0555 A60A              lda #10

⌨️ 快捷键说明

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