📄 lcdshow.lis
字号:
03DA 87 psha
03DB B600 lda *__r0
03DD 87 psha
03DE CD0000 jsr __asgnblk
03E1 A706 ais #6
03E3 ; unsigned char i;
03E3 ; LcdInit();
03E3 CD0309 jsr _LcdInit
03E6 95 tsx
03E7 ; for(i=0;i<11;i++)
03E7 6F19 clr 25,X
03E9 2029 bra L59
03EB L56:
03EB E619 lda 25,X
03ED AB01 add #1
03EF 87 psha
03F0 A601 lda #1
03F2 87 psha
03F3 AF0D aix #13
03F5 3500 sthx *__r0
03F7 95 tsx
03F8 AF02 aix #2
03FA 3F00 clr *__r2
03FC E619 lda 25,X
03FE BB00 add *__r1
0400 B700 sta *__r1
0402 B600 lda *__r2
0404 B900 adc *__r0
0406 B700 sta *__r0
0408 5500 ldhx *__r0
040A F6 lda ,x
040B 87 psha
040C CD02CA jsr _LcdshowCharacter
040F A703 ais #3
0411 95 tsx
0412 L57:
0412 6C19 inc 25,X
0414 L59:
0414 E619 lda 25,X
0416 A10B cmp #11
0418 25D1 blo L56
041A ; {
041A ; LcdshowCharacter(temp[i],1,(i+1));
041A ; }
041A ; for(i=0;i<12;i++)
041A 6F19 clr 25,X
041C 2024 bra L63
041E L60:
041E E619 lda 25,X
0420 AB01 add #1
0422 87 psha
0423 A602 lda #2
0425 87 psha
0426 3500 sthx *__r0
0428 3F00 clr *__r2
042A E619 lda 25,X
042C BB00 add *__r1
042E B700 sta *__r1
0430 B600 lda *__r2
0432 B900 adc *__r0
0434 B700 sta *__r0
0436 5500 ldhx *__r0
0438 F6 lda ,x
0439 87 psha
043A CD02CA jsr _LcdshowCharacter
043D A703 ais #3
043F 95 tsx
0440 L61:
0440 6C19 inc 25,X
0442 L63:
0442 E619 lda 25,X
0444 A10C cmp #12
0446 25D6 blo L60
0448 L53:
0448 A71A ais #26
044A .dbline 0 ; func end
044A 81 rts
044B ; n -> 8,X
044B ; m -> 7,X
044B ; temp -> 5,X
044B ; Keyvalue -> 4,X
044B _Transmission::
044B A7FE ais #-2
044D 95 tsx
044E ; {
044E ; LcdshowCharacter(temp2[i],2,(i+1));
044E ; }
044E ; }
044E ;
044E ; //将输入的键值传送到相应位置的位
044E ; void Transmission(unsigned char Keyvalue,unsigned char temp[],unsigned char m,unsigned char n)
044E ; {
044E ; if(m==1) //在第一行
044E E607 lda 7,X
0450 A101 cmp #1
0452 2703 beq X16
0454 CC0695 jmp L65
0457 X16:
0457 ; {
0457 ; switch(n)
0457 7F clr ,X
0458 E608 lda 8,X
045A E701 sta 1,X
045C F6 lda ,X
045D 2606 bne X0
045F E601 lda 1,X
0461 A104 cmp #4
0463 2757 beq L70
0465 X0:
0465 F6 lda ,X
0466 2609 bne X1
0468 E601 lda 1,X
046A A105 cmp #5
046C 2603 bne X17
046E CC04F9 jmp L74
0471 X17:
0471 X1:
0471 F6 lda ,X
0472 2609 bne X2
0474 E601 lda 1,X
0476 A106 cmp #6
0478 2603 bne X18
047A CC050E jmp L75
047D X18:
047D X2:
047D F6 lda ,X
047E 2609 bne X3
0480 E601 lda 1,X
0482 A107 cmp #7
0484 2603 bne X19
0486 CC0523 jmp L76
0489 X19:
0489 X3:
0489 F6 lda ,X
048A 2609 bne X4
048C E601 lda 1,X
048E A109 cmp #9
0490 2603 bne X20
0492 CC0538 jmp L77
0495 X20:
0495 X4:
0495 F6 lda ,X
0496 2609 bne X5
0498 E601 lda 1,X
049A A10A cmp #10
049C 2603 bne X21
049E CC0575 jmp L80
04A1 X21:
04A1 X5:
04A1 F6 lda ,X
04A2 2609 bne X6
04A4 E601 lda 1,X
04A6 A10C cmp #12
04A8 2603 bne X22
04AA CC05E9 jmp L83
04AD X22:
04AD X6:
04AD F6 lda ,X
04AE 2609 bne X7
04B0 E601 lda 1,X
04B2 A10D cmp #13
04B4 2603 bne X23
04B6 CC0625 jmp L86
04B9 X23:
04B9 X7:
04B9 CC0695 jmp L67
04BC X8:
04BC ; {
04BC L70:
04BC ; case 4:temp[0]=Keyvalue;
04BC E606 lda 6,X
04BE B700 sta *__r1
04C0 E605 lda 5,X
04C2 B700 sta *__r0
04C4 E604 lda 4,X
04C6 5500 ldhx *__r0
04C8 F7 sta ,x
04C9 95 tsx
04CA ; if((temp[0]<1)||(temp[0]>3))
04CA E605 lda 5,X
04CC EE06 ldx 6,X
04CE 87 psha
04CF 8A pulh
04D0 F6 lda ,x
04D1 B700 sta *__r1
04D3 3F00 clr *__r0
04D5 5500 ldhx *__r0
04D7 650001 cphx #1
04DA 95 tsx
04DB 910B blt L73
04DD 5500 ldhx *__r0
04DF 650003 cphx #3
04E2 95 tsx
04E3 9203 bgt X24
04E5 CC0695 jmp L68
04E8 X24:
04E8 L73:
04E8 ; temp[0]=2; break;
04E8 E606 lda 6,X
04EA B700 sta *__r1
04EC E605 lda 5,X
04EE B700 sta *__r0
04F0 A602 lda #2
04F2 5500 ldhx *__r0
04F4 F7 sta ,x
04F5 95 tsx
04F6 CC0695 jmp L68
04F9 L74:
04F9 ;
04F9 ; case 5:temp[1]=Keyvalue; break; //if(temp[1]>2) temp[8]=0 ; break;
04F9 E606 lda 6,X
04FB AB01 add #1
04FD B700 sta *__r1
04FF E605 lda 5,X
0501 A900 adc #0
0503 B700 sta *__r0
0505 E604 lda 4,X
0507 5500 ldhx *__r0
0509 F7 sta ,x
050A 95 tsx
050B CC0695 jmp L68
050E L75:
050E ; case 6:temp[2]=Keyvalue; break;//if(temp[8]>2) temp[8]=0 ; break;
050E E606 lda 6,X
0510 AB02 add #2
0512 B700 sta *__r1
0514 E605 lda 5,X
0516 A900 adc #0
0518 B700 sta *__r0
051A E604 lda 4,X
051C 5500 ldhx *__r0
051E F7 sta ,x
051F 95 tsx
0520 CC0695 jmp L68
0523 L76:
0523 ; case 7:temp[3]=Keyvalue; break;//if(temp[8]>2) temp[8]=0 ; break;
0523 E606 lda 6,X
0525 AB03 add #3
0527 B700 sta *__r1
0529 E605 lda 5,X
052B A900 adc #0
052D B700 sta *__r0
052F E604 lda 4,X
0531 5500 ldhx *__r0
0533 F7 sta ,x
0534 95 tsx
0535 CC0695 jmp L68
0538 L77:
0538 ;
0538 ; case 9:temp[4]=Keyvalue;
0538 E606 lda 6,X
053A AB04 add #4
053C B700 sta *__r1
053E E605 lda 5,X
0540 A900 adc #0
0542 B700 sta *__r0
0544 E604 lda 4,X
0546 5500 ldhx *__r0
0548 F7 sta ,x
0549 95 tsx
054A ; if(temp[4]>1)
054A E606 lda 6,X
054C AB04 add #4
054E B700 sta *__r1
0550 E605 lda 5,X
0552 A900 adc #0
0554 B700 sta *__r0
0556 5500 ldhx *__r0
0558 F6 lda ,x
0559 95 tsx
055A A101 cmp #1
055C 2203 bhi X25
055E CC0695 jmp L68
0561 X25:
0561 ; temp[4]=0 ; break;
0561 E606 lda 6,X
0563 AB04 add #4
0565 B700 sta *__r1
0567 E605 lda 5,X
0569 A900 adc #0
056B B700 sta *__r0
056D 4F clra
056E 5500 ldhx *__r0
0570 F7 sta ,x
0571 95 tsx
0572 CC0695 jmp L68
0575 L80:
0575 ;
0575 ; case 10:temp[5]=Keyvalue;
0575 E606 lda 6,X
0577 AB05 add #5
0579 B700 sta *__r1
057B E605 lda 5,X
057D A900 adc #0
057F B700 sta *__r0
0581 E604 lda 4,X
0583 5500 ldhx *__r0
0585 F7 sta ,x
0586 95 tsx
0587 ; if((temp[4]==1)&&(temp[5]>2))
0587 E606 lda 6,X
0589 AB04 add #4
058B B700 sta *__r1
058D E605 lda 5,X
058F A900 adc #0
0591 B700 sta *__r0
0593 5500 ldhx *__r0
0595 F6 lda ,x
0596 95 tsx
0597 A101 cmp #1
0599 2639 bne L81
059B E606 lda 6,X
059D AB05 add #5
059F B700 sta *__r1
05A1 E605 lda 5,X
05A3 A900 adc #0
05A5 B700 sta *__r0
05A7 5500 ldhx *__r0
05A9 F6 lda ,x
05AA 95 tsx
05AB A102 cmp #2
05AD 2325 bls L81
05AF ; {temp[4]=0; temp[5]=0;}
05AF E606 lda 6,X
05B1 AB04 add #4
05B3 B700 sta *__r1
05B5 E605 lda 5,X
05B7 A900 adc #0
05B9 B700 sta *__r0
05BB 4F clra
05BC 5500 ldhx *__r0
05BE F7 sta ,x
05BF 95 tsx
05C0 E606 lda 6,X
05C2 AB05 add #5
05C4 B700 sta *__r1
05C6 E605 lda 5,X
05C8 A900 adc #0
05CA B700 sta *__r0
05CC 4F clra
05CD 5500 ldhx *__r0
05CF F7 sta ,x
05D0 95 tsx
05D1 CC0695 jmp L68
05D4 L81:
05D4 ; else temp[9]=Keyvalue; break;
05D4 E606 lda 6,X
05D6 AB09 add #9
05D8 B700 sta *__r1
05DA E605 lda 5,X
05DC A900 adc #0
05DE B700 sta *__r0
05E0 E604 lda 4,X
05E2 5500 ldhx *__r0
05E4 F7 sta ,x
05E5 95 tsx
05E6 CC0695 jmp L68
05E9 L83:
05E9 ;
05E9 ; case 12:temp[6]=Keyvalue; if(temp[6]>3) temp[6]=0 ; break;
05E9 E606 lda 6,X
05EB AB06 add #6
05ED B700 sta *__r1
05EF E605 lda 5,X
05F1 A900 adc #0
05F3 B700 sta *__r0
05F5 E604 lda 4,X
05F7 5500 ldhx *__r0
05F9 F7 sta ,x
05FA 95 tsx
05FB E606 lda 6,X
05FD AB06 add #6
05FF B700 sta *__r1
0601 E605 lda 5,X
0603 A900 adc #0
0605 B700 sta *__r0
0607 5500 ldhx *__r0
0609 F6 lda ,x
060A 95 tsx
060B A103 cmp #3
060D 2203 bhi X26
060F CC0695 jmp L68
0612 X26:
0612 E606 lda 6,X
0614 AB06 add #6
0616 B700 sta *__r1
0618 E605 lda 5,X
061A A900 adc #0
061C B700 sta *__r0
061E 4F clra
061F 5500 ldhx *__r0
0621 F7 sta ,x
0622 95 tsx
0623 2070 bra L68
0625 L86:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -