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

📄 jianpan.s

📁 可以显示年月日,时间等,也可以设置闹钟,设定时间
💻 S
📖 第 1 页 / 共 3 页
字号:
	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 + -