📄 jianpan.s
字号:
sta *__r3
clr *__r2
lda #10
psha
clra
psha
lda *__r3
psha
lda *__r2
psha
jsr __mul16
ais #4
mov *__rlo,*__r3
mov *__rhi,*__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *__r0
lda 3,X
add #3
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
tsx
sta *__r3
clr *__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *_data+4
mov *__r1,*_data+4+1
; data[1]=time_array[4]*10+time_array[5];
lda 3,X
add #5
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
clr *__r0
lda 3,X
add #4
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
tsx
sta *__r3
clr *__r2
lda #10
psha
clra
psha
lda *__r3
psha
lda *__r2
psha
jsr __mul16
ais #4
mov *__rlo,*__r3
mov *__rhi,*__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *_data+2
mov *__r1,*_data+2+1
; data[0]=time_array[6]*10+time_array[7];
lda 3,X
add #7
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
clr *__r0
lda 3,X
add #6
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
tsx
sta *__r3
clr *__r2
lda #10
psha
clra
psha
lda *__r3
psha
lda *__r2
psha
jsr __mul16
ais #4
mov *__rlo,*__r3
mov *__rhi,*__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *_data
mov *__r1,*_data+1
; time[2]=time_array[8]*10+time_array[9];
lda 3,X
add #9
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 3,X
add #8
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
ldx #10
mul
tsx
add *__r1
sta *_time+2
; time[1]=time_array[10]*10+time_array[11];
lda 3,X
add #11
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 3,X
add #10
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
ldx #10
mul
tsx
add *__r1
sta *_time+1
; time[0]=time_array[12]*10+time_array[13];
lda 3,X
add #13
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 3,X
add #12
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
ldx #10
mul
tsx
add *__r1
sta *_time
L55:
.dbline 0 ; func end
rts
; n -> 4,X
; time_array -> 2,X
_change_str::
tsx
; }
;
; void change_str(unsigned char time_array[],unsigned char n)
; {
; time_array[0]=data[2]/1000;
lda *_data+4+1
sta *__rlo
lda *_data+4
sta *__rhi
lda #-24
psha
lda #3
psha
jsr __divmod16u
ais #2
mov *__rlo,*__r1
lda 3,X
sta *__r3
lda 2,X
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[1]=data[2]%1000/100;
lda *_data+4+1
sta *__rlo
lda *_data+4
sta *__rhi
lda #-24
psha
lda #3
psha
jsr __divmod16u
pula
sta *__r0
pula
sta *__rlo
mov *__r0,*__rhi
lda #100
psha
clra
psha
jsr __divmod16u
ais #2
mov *__rlo,*__r1
lda 3,X
add #1
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[2]=data[2]%100/10;
lda *_data+4+1
sta *__rlo
lda *_data+4
sta *__rhi
lda #100
psha
clra
psha
jsr __divmod16u
pula
sta *__r0
pula
sta *__rlo
mov *__r0,*__rhi
lda #10
psha
clra
psha
jsr __divmod16u
ais #2
mov *__rlo,*__r1
lda 3,X
add #2
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[3]=data[2]%10;
lda *_data+4+1
sta *__rlo
lda *_data+4
sta *__rhi
lda #10
psha
clra
psha
jsr __divmod16u
pula
pula
sta *__r1
lda 3,X
add #3
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[4]=data[1]/10;
lda *_data+2+1
sta *__rlo
lda *_data+2
sta *__rhi
lda #10
psha
clra
psha
jsr __divmod16u
ais #2
mov *__rlo,*__r1
lda 3,X
add #4
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[5]=data[1]%10;
lda *_data+2+1
sta *__rlo
lda *_data+2
sta *__rhi
lda #10
psha
clra
psha
jsr __divmod16u
pula
pula
sta *__r1
lda 3,X
add #5
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[6]=data[0]/10;
lda *_data+1
sta *__rlo
lda *_data
sta *__rhi
lda #10
psha
clra
psha
jsr __divmod16u
ais #2
mov *__rlo,*__r1
lda 3,X
add #6
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
; time_array[7]=data[0]%10;
lda *_data+1
sta *__rlo
lda *_data
sta *__rhi
lda #10
psha
clra
psha
jsr __divmod16u
pula
pula
sta *__r1
lda 3,X
add #7
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
; time_array[8]=time[2]/10;
lda *_time+2
ldx #10
clrh
div
tsx
sta *__r1
lda 3,X
add #8
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
; time_array[9]=time[2]%10;
lda *_time+2
ldx #10
clrh
div
pshh
pula
tsx
sta *__r1
lda 3,X
add #9
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
; time_array[10]=time[1]/10;
lda *_time+1
ldx #10
clrh
div
tsx
sta *__r1
lda 3,X
add #10
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
; time_array[11]=time[1]%10;
lda *_time+1
ldx #10
clrh
div
pshh
pula
tsx
sta *__r1
lda 3,X
add #11
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
; time_array[12]=time[0]/10;
lda *_time
ldx #10
clrh
div
tsx
sta *__r1
lda 3,X
add #12
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
; time_array[13]=time[0]%10;
lda *_time
ldx #10
clrh
div
pshh
pula
tsx
sta *__r1
lda 3,X
add #13
sta *__r3
lda 2,X
adc #0
sta *__r2
lda *__r1
ldhx *__r2
sta ,x
tsx
L60:
.dbline 0 ; func end
rts
; n -> 4,X
; time_array -> 2,X
_str_clock::
tsx
; }
;
; void str_clock(unsigned char time_array[],unsigned char n)
; {
; time_clock[0]=time_array[8]*10+time_array[9];
lda 3,X
add #9
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 3,X
add #8
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
ldx #10
mul
tsx
add *__r1
sta *_time_clock
; time_clock[1]=time_array[10]*10+time_array[11];
lda 3,X
add #11
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 3,X
add #10
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
ldx #10
mul
tsx
add *__r1
sta *_time_clock+1
; time_clock[2]=time_array[12]*10+time_array[13];
lda 3,X
add #13
sta *__r1
lda 2,X
adc #0
sta *__r0
ldhx *__r0
lda ,x
tsx
sta *__r1
lda 3,X
add #12
sta *__r3
lda 2,X
adc #0
sta *__r2
ldhx *__r2
lda ,x
ldx #10
mul
tsx
add *__r1
sta *_time_clock+2
L71:
.dbline 0 ; func end
rts
.area lit
L75:
.byte 49,46,'s,'e,'t,32,'t,'i,'m,'e,32,32,32,32,32,32
.byte 50,46,'s,'e,'t,32,'c,'l,'o,'c,'k,32,32,32,32,32
L150:
.byte 49,46,'s,'e,'t,32,'t,'i,'m,'e,32,32,32,32,32,32
.byte 50,46,'s,'e,'t,32,'c,'l,'o,'c,'k,32,32,32,32,32
L153:
.byte 0
.word 0,0,0,0,0
.byte 0,0,0
L184:
.byte 49,46,'s,'e,'t,32,'t,'i,'m,'e,32,32,32,32,32,32
.byte 50,46,'s,'e,'t,32,'c,'l,'o,'c,'k,32,32,32,32,32
L187:
.byte 32,32,32,32,32,'o,'k,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.area text
; Okinit -> 0,X
; optioninit -> 0,X
; gb_mask1 -> 32,X
; sign -> 33,X
; clock_array -> 34,X
; gb_mask2 -> 48,X
; optioninit -> 0,X
; gb_mask2 -> 32,X
; sign -> 33,X
; gb_mask1 -> 34,X
; time_array -> 35,X
; qidong -> 49,X
_Akey::
ais #-81
tsx
; }
;
; void Akey()
; {
; unsigned char qidong[32]="1.set time 2.set clock ";
aix #49
sthx *__r0
tsx
lda #32
psha
clra
psha
lda #<L75
psha
lda #>L75
psha
lda *__r1
psha
lda *__r0
psha
jsr __asgnblk
ais #6
; lcdshow2(qidong);
aix #49
pshx
pshh
jsr _lcdshow2
ais #2
tsx
; KB_valve=0;
clr *_KB_valve
jmp L77
L76:
; while(1)
; {
; if(KB_valve=='1')//选项1:调整时间
lda *_KB_valve
cmp #49
beq X19
jmp L79
X19:
; {
; unsigned char gb_mask2=2,gb_mask1=0,sign=2,time_array[14];
lda #2
sta 32,X
clr 34,X
lda #2
sta 33,X
; Lcd_Show(0);
clra
psha
jsr _Lcd_Show
ais #1
tsx
; change_str(time_array,14);
lda #14
psha
aix #35
pshx
pshh
jsr _change_str
ais #3
tsx
; KB_valve=0;
clr *_KB_valve
jmp L82
L81:
; while(1)
; {
; guangbiao(gb_mask1,gb_mask2);
lda 32,X
psha
lda 34,X
psha
jsr _guangbiao
ais #2
tsx
; if(KB_valve=='6')//光标右移
lda *_KB_valve
cmp #54
bne L84
; {
; gb_mask2++;
inc 32,X
; sign++;
inc 33,X
; if(sign==10&&gb_mask1==0) sign=2;
lda 33,X
cmp #10
bne L86
lda 34,X
bne L86
lda #2
sta 33,X
L86:
; if(sign==8&&gb_mask1==1) sign=2;
lda 33,X
cmp #8
bne L88
lda 34,X
cmp #1
bne L88
lda #2
sta 33,X
L88:
; if(gb_mask2==6) gb_mask2=7;
lda 32,X
cmp #6
bne L90
lda #7
sta 32,X
L90:
; if(gb_mask2==9) gb_mask2=10;
lda 32,X
cmp #9
bne L92
lda #10
sta 32,X
L92:
; if(gb_mask2==12&&gb_mask1==0) gb_mask2=2;
lda 32,X
cmp #12
bne L94
lda 34,X
bne L94
lda #2
sta 32,X
L94:
; if(gb_mask2==12&&gb_mask1==1) gb_mask2=4;
lda 32,X
cmp #12
bne L96
lda 34,X
cmp #1
bne L96
lda #4
sta 32,X
L96:
; KB_valve=0;
clr *_KB_valve
; }
L84:
; if(KB_valve=='2')//累加
lda *_KB_valve
cmp #50
beq X20
jmp L98
X20:
; {
; time_array[gb_mask1*8+sign-2]++;
clr *__r0
lda 33,X
sta *__r1
clr *__r2
lda 34,X
sta *__r3
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
aix #33
sthx *__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *__r0
ldhx *__r0
lda ,x
add #1
ldhx *__r0
sta ,x
tsx
; if(time_array[10]>=6||time_array[12]>=6)
lda 45,X
cmp #6
bhs L105
lda 47,X
cmp #6
blo L101
L105:
; time_array[gb_mask1*8+sign-2]=0;
clr *__r0
lda 33,X
sta *__r1
clr *__r2
lda 34,X
sta *__r3
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
aix #33
sthx *__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
L101:
; if(time_array[8]>=3)
lda 43,X
cmp #3
blo L107
; time_array[gb_mask1*8+sign-2]=0;
clr *__r0
lda 33,X
sta *__r1
clr *__r2
lda 34,X
sta *__r3
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
aix #33
sthx *__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
L107:
; if(time_array[4]>=2)
lda 39,X
cmp #2
blo L111
; time_array[gb_mask1*8+sign-2]=0;
clr *__r0
lda 33,X
sta *__r1
clr *__r2
lda 34,X
sta *__r3
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
aix #33
sthx *__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
L111:
; if(time_array[4]==1&&time_array[5]>=3)
lda 39,X
cmp #1
bne L115
lda 40,X
cmp #3
blo L115
; time_array[gb_mask1*8+sign-2]=0;
clr *__r0
lda 33,X
sta *__r1
clr *__r2
lda 34,X
sta *__r3
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
sta *__r0
aix #33
sthx *__r2
lda *__r1
add *__r3
sta *__r1
lda *__r0
adc *__r2
sta *__r0
clra
ldhx *__r0
sta ,x
tsx
L115:
; if(time_array[8]==2&&time_array[9]>=5)
lda 43,X
cmp #2
bne L120
lda 44,X
cmp #5
blo L120
; time_array[gb_mask1*8+sign-2]=0;
clr *__r0
lda 33,X
sta *__r1
clr *__r2
lda 34,X
sta *__r3
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lsl *__r3
rol *__r2
lda *__r3
add *__r1
sta *__r1
lda *__r2
adc *__r0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -