📄 lcdshow.s
字号:
psha
lda *__r0
psha
jsr __asgnblk
ais #6
; unsigned char i;
; LcdInit();
jsr _LcdInit
tsx
; for(i=0;i<11;i++)
clr 25,X
bra L59
L56:
lda 25,X
add #1
psha
lda #1
psha
aix #13
sthx *__r0
tsx
aix #2
clr *__r2
lda 25,X
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
ldhx *__r0
lda ,x
psha
jsr _LcdshowCharacter
ais #3
tsx
L57:
inc 25,X
L59:
lda 25,X
cmp #11
blo L56
; {
; LcdshowCharacter(temp[i],1,(i+1));
; }
; for(i=0;i<12;i++)
clr 25,X
bra L63
L60:
lda 25,X
add #1
psha
lda #2
psha
sthx *__r0
clr *__r2
lda 25,X
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
ldhx *__r0
lda ,x
psha
jsr _LcdshowCharacter
ais #3
tsx
L61:
inc 25,X
L63:
lda 25,X
cmp #12
blo L60
L53:
ais #26
.dbline 0 ; func end
rts
; n -> 8,X
; m -> 7,X
; temp -> 5,X
; Keyvalue -> 4,X
_Transmission::
ais #-2
tsx
; {
; LcdshowCharacter(temp2[i],2,(i+1));
; }
; }
;
; //将输入的键值传送到相应位置的位
; void Transmission(unsigned char Keyvalue,unsigned char temp[],unsigned char m,unsigned char n)
; {
; if(m==1) //在第一行
lda 7,X
cmp #1
beq X16
jmp L65
X16:
; {
; switch(n)
clr ,X
lda 8,X
sta 1,X
lda ,X
bne X0
lda 1,X
cmp #4
beq L70
X0:
lda ,X
bne X1
lda 1,X
cmp #5
bne X17
jmp L74
X17:
X1:
lda ,X
bne X2
lda 1,X
cmp #6
bne X18
jmp L75
X18:
X2:
lda ,X
bne X3
lda 1,X
cmp #7
bne X19
jmp L76
X19:
X3:
lda ,X
bne X4
lda 1,X
cmp #9
bne X20
jmp L77
X20:
X4:
lda ,X
bne X5
lda 1,X
cmp #10
bne X21
jmp L80
X21:
X5:
lda ,X
bne X6
lda 1,X
cmp #12
bne X22
jmp L83
X22:
X6:
lda ,X
bne X7
lda 1,X
cmp #13
bne X23
jmp L86
X23:
X7:
jmp L67
X8:
; {
L70:
; case 4:temp[0]=Keyvalue;
lda 6,X
sta *__r1
lda 5,X
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if((temp[0]<1)||(temp[0]>3))
lda 5,X
ldx 6,X
psha
pulh
lda ,x
sta *__r1
clr *__r0
ldhx *__r0
cphx #1
tsx
blt L73
ldhx *__r0
cphx #3
tsx
bgt X24
jmp L68
X24:
L73:
; temp[0]=2; break;
lda 6,X
sta *__r1
lda 5,X
sta *__r0
lda #2
ldhx *__r0
sta ,x
tsx
jmp L68
L74:
;
; case 5:temp[1]=Keyvalue; break; //if(temp[1]>2) temp[8]=0 ; break;
lda 6,X
add #1
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
jmp L68
L75:
; case 6:temp[2]=Keyvalue; break;//if(temp[8]>2) temp[8]=0 ; break;
lda 6,X
add #2
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
jmp L68
L76:
; case 7:temp[3]=Keyvalue; break;//if(temp[8]>2) temp[8]=0 ; break;
lda 6,X
add #3
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
jmp L68
L77:
;
; case 9:temp[4]=Keyvalue;
lda 6,X
add #4
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if(temp[4]>1)
lda 6,X
add #4
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #1
bhi X25
jmp L68
X25:
; temp[4]=0 ; break;
lda 6,X
add #4
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
jmp L68
L80:
;
; case 10:temp[5]=Keyvalue;
lda 6,X
add #5
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if((temp[4]==1)&&(temp[5]>2))
lda 6,X
add #4
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #1
bne L81
lda 6,X
add #5
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #2
bls L81
; {temp[4]=0; temp[5]=0;}
lda 6,X
add #4
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
lda 6,X
add #5
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
jmp L68
L81:
; else temp[9]=Keyvalue; break;
lda 6,X
add #9
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
jmp L68
L83:
;
; case 12:temp[6]=Keyvalue; if(temp[6]>3) temp[6]=0 ; break;
lda 6,X
add #6
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
lda 6,X
add #6
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #3
bhi X26
jmp L68
X26:
lda 6,X
add #6
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
bra L68
L86:
;
; case 13:temp[7]=Keyvalue;
lda 6,X
add #7
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if((temp[6]==3)&&(temp[7]>1))
lda 6,X
add #6
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #3
bne L87
lda 6,X
add #7
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #1
bls L87
; {temp[6]=0 ; temp[7]=0 ; }
lda 6,X
add #6
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
lda 6,X
add #7
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
bra L68
L87:
; else temp[7]=Keyvalue; break;
lda 6,X
add #7
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
L67:
L68:
;
;
; }
; }
L65:
; if(m==2) //在第二行
lda 7,X
cmp #2
beq X27
jmp L89
X27:
; {
; switch(n)
clr ,X
lda 8,X
sta 1,X
lda ,X
bne X9
lda 1,X
cmp #5
beq L94
X9:
lda ,X
bne X10
lda 1,X
cmp #6
bne X28
jmp L97
X28:
X10:
lda ,X
bne X11
lda 1,X
cmp #8
bne X29
jmp L100
X29:
X11:
lda ,X
bne X12
lda 1,X
cmp #9
bne X30
jmp L103
X30:
X12:
lda ,X
bne X13
lda 1,X
cmp #11
bne X31
jmp L104
X31:
X13:
lda ,X
bne X14
lda 1,X
cmp #12
bne X32
jmp L107
X32:
X14:
jmp L91
X15:
; {
L94:
; case 5:temp[8]=Keyvalue;
lda 6,X
add #8
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if(temp[8]>2)
lda 6,X
add #8
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #2
bhi X33
jmp L92
X33:
; temp[8]=0 ; break;
lda 6,X
add #8
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
jmp L92
L97:
;
; case 6:temp[9]=Keyvalue;
lda 6,X
add #9
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if((temp[8]==2)&&(temp[9]>3))
lda 6,X
add #8
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #2
bne L98
lda 6,X
add #9
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #3
bls L98
; {temp[8]=0;temp[9]=0 ; }
lda 6,X
add #8
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
lda 6,X
add #9
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
jmp L92
L98:
; else temp[9]=Keyvalue; break;
lda 6,X
add #9
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
jmp L92
L100:
;
; case 8:temp[10]=Keyvalue;
lda 6,X
add #10
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if(temp[10]>5) temp[10]=0 ; break;
lda 6,X
add #10
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #5
bls L92
lda 6,X
add #10
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
bra L92
L103:
;
; case 9:temp[11]=Keyvalue; break;
lda 6,X
add #11
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
bra L92
L104:
;
; case 11:temp[12]=Keyvalue;
lda 6,X
add #12
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
; if(temp[12]>5) temp[12]=0 ; break;
lda 6,X
add #12
sta *__r1
lda 5,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
cmp #5
bls L92
lda 6,X
add #12
sta *__r1
lda 5,X
adc #0
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
bra L92
L107:
;
; case 12:temp[13]=Keyvalue; break;
lda 6,X
add #13
sta *__r1
lda 5,X
adc #0
sta *__r0
lda 4,X
ldhx *__r0
sta ,x
tsx
L91:
L92:
; }
; }
L89:
L64:
ais #2
.dbline 0 ; func end
rts
; m -> 2,X
_Discriminant::
tsx
; }
;
; //判断按下的键是否数字键
; unsigned char Discriminant(unsigned char m)
; {
; if(m=='1'||m=='2'||m=='3'||m=='4'||m=='5'||m=='6'||m=='7'||m=='8'||m=='9'||m=='0')
lda 2,X
cmp #49
beq L119
cmp #50
beq L119
cmp #51
beq L119
cmp #52
beq L119
cmp #53
beq L119
cmp #54
beq L119
cmp #55
beq L119
cmp #56
beq L119
cmp #57
beq L119
cmp #48
bne L109
L119:
; return 1;
lda #1
bra L108
L109:
; else return 0;
clra
L108:
.dbline 0 ; func end
rts
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -