📄 main.lis
字号:
04ED 87 psha
04EE CD0000 jsr __divmod16u
04F1 86 pula
04F2 B700 sta *__r0
04F4 86 pula
04F5 B700 sta *__r1
04F7 5500 ldhx *__r0
04F9 650000 cphx #0
04FC 95 tsx
04FD 2704 beq L85
04FF L87:
04FF ; return 1;
04FF A601 lda #1
0501 2001 bra L84
0503 L85:
0503 ; else return 0;
0503 4F clra
0504 L84:
0504 .dbline 0 ; func end
0504 81 rts
0505 _Timer1init::
0505 ; }
0505 ;
0505 ;
0505 ; /*Timer1init:定时器1初始化子程序-----------------------*
0505 ; *功能:对定时器1初始化 *
0505 ; *参数:无 *
0505 ; *返回:无 *
0505 ; *-----------------------------------------------------*/
0505 ; void Timer1init(void)
0505 ; {
0505 ; //允许溢出中断、不启动计数、分频因子=64
0505 ; T1SC=0b01100110;
0505 A666 lda #102
0507 B720 sta 0x20
0509 ; //计数寄存器初值=0x0000
0509 ; T1CNTH=0x00; T1CNTL=0x00;
0509 3F21 clr 0x21
050B 3F22 clr 0x22
050D ; //1秒产生1次溢出中断,计数寄存器=1×(2457600/64)=9600
050D ; T1MODH=0x96; T1MODL=0x00;
050D A696 lda #-106
050F B723 sta 0x23
0511 3F24 clr 0x24
0513 ; //允许定时器1计数寄存器计数
0513 ; T1SC&=~(1<<TSTOPBit);
0513 1B20 bclr #5,0x20
0515 L88:
0515 .dbline 0 ; func end
0515 81 rts
0516 _Year_adjust::
0516 ; }
0516 ;
0516 ; void Year_adjust(void)
0516 ; {
0516 ; Normal_show_time=1;
0516 A601 lda #1
0518 B736 sta *_Normal_show_time
051A ; Lcd_show_cursor(0,3);
051A A603 lda #3
051C 87 psha
051D 4F clra
051E 87 psha
051F CD0000 jsr _Lcd_show_cursor
0522 A702 ais #2
0524 95 tsx
0525 ; if(Up_Modify_key_is_pressed_flag)
0525 B634 lda *_Up_Modify_key_is_pressed_flag
0527 270E beq L90
0529 ; {
0529 ; Time.year++;
0529 B601 lda *_Time+1
052B AB01 add #1
052D B701 sta *_Time+1
052F B600 lda *_Time
0531 A900 adc #0
0533 B700 sta *_Time
0535 ; Up_Modify_key_is_pressed_flag=0;
0535 3F34 clr *_Up_Modify_key_is_pressed_flag
0537 ; }
0537 L90:
0537 ;
0537 ; if(Down_Modify_key_is_pressed_flag)
0537 B635 lda *_Down_Modify_key_is_pressed_flag
0539 270E beq L92
053B ; {
053B ; Time.year--;
053B B601 lda *_Time+1
053D A001 sub #1
053F B701 sta *_Time+1
0541 B600 lda *_Time
0543 A200 sbc #0
0545 B700 sta *_Time
0547 ; Down_Modify_key_is_pressed_flag=0;
0547 3F35 clr *_Down_Modify_key_is_pressed_flag
0549 ; }
0549 L92:
0549 L89:
0549 .dbline 0 ; func end
0549 81 rts
054A _Month_adjust::
054A ;
054A ; }
054A ;
054A ; void Month_adjust(void)
054A ; {
054A ; Normal_show_time=1;
054A A601 lda #1
054C B736 sta *_Normal_show_time
054E ; Lcd_show_cursor(0,6);
054E A606 lda #6
0550 87 psha
0551 4F clra
0552 87 psha
0553 CD0000 jsr _Lcd_show_cursor
0556 A702 ais #2
0558 95 tsx
0559 ; if(Up_Modify_key_is_pressed_flag)
0559 B634 lda *_Up_Modify_key_is_pressed_flag
055B 2710 beq L95
055D ; {
055D ; if(Time.month<12)
055D B602 lda *_Time+2
055F A10C cmp #12
0561 2404 bhs L97
0563 ; Time.month++;
0563 3C02 inc *_Time+2
0565 2004 bra L98
0567 L97:
0567 ; else
0567 ; Time.month=1;
0567 A601 lda #1
0569 B702 sta *_Time+2
056B L98:
056B ; Up_Modify_key_is_pressed_flag=0;
056B 3F34 clr *_Up_Modify_key_is_pressed_flag
056D ; }
056D L95:
056D ;
056D ; if(Down_Modify_key_is_pressed_flag)
056D B635 lda *_Down_Modify_key_is_pressed_flag
056F 2710 beq L102
0571 ; {
0571 ; if(Time.month>1)
0571 B602 lda *_Time+2
0573 A101 cmp #1
0575 2304 bls L104
0577 ; Time.month--;
0577 3A02 dec *_Time+2
0579 2004 bra L105
057B L104:
057B ; else
057B ; Time.month=12;
057B A60C lda #12
057D B702 sta *_Time+2
057F L105:
057F ; Down_Modify_key_is_pressed_flag=0;
057F 3F35 clr *_Down_Modify_key_is_pressed_flag
0581 ; }
0581 L102:
0581 L94:
0581 .dbline 0 ; func end
0581 81 rts
0582 _Day_adjust::
0582 ;
0582 ; }
0582 ;
0582 ; void Day_adjust(void)
0582 ; {
0582 ; Normal_show_time=1;
0582 A601 lda #1
0584 B736 sta *_Normal_show_time
0586 ; Lcd_show_cursor(0,9);
0586 A609 lda #9
0588 87 psha
0589 4F clra
058A 87 psha
058B CD0000 jsr _Lcd_show_cursor
058E A702 ais #2
0590 95 tsx
0591 ; if(Up_Modify_key_is_pressed_flag)
0591 B634 lda *_Up_Modify_key_is_pressed_flag
0593 2603 bne X14
0595 CC0634 jmp L110
0598 X14:
0598 ; {
0598 ; if((Time.month!=2)&&(Time.month==1)||(Time.month==3)||(Time.month==5)||(Time.month==7)||(Time.month==8)||(Time.month==10||(Time.month==12)))
0598 B602 lda *_Time+2
059A A102 cmp #2
059C 2706 beq L123
059E B602 lda *_Time+2
05A0 A101 cmp #1
05A2 2724 beq L128
05A4 L123:
05A4 B602 lda *_Time+2
05A6 A103 cmp #3
05A8 271E beq L128
05AA B602 lda *_Time+2
05AC A105 cmp #5
05AE 2718 beq L128
05B0 B602 lda *_Time+2
05B2 A107 cmp #7
05B4 2712 beq L128
05B6 B602 lda *_Time+2
05B8 A108 cmp #8
05BA 270C beq L128
05BC B602 lda *_Time+2
05BE A10A cmp #10
05C0 2706 beq L128
05C2 B602 lda *_Time+2
05C4 A10C cmp #12
05C6 2610 bne L112
05C8 L128:
05C8 ; {
05C8 ; if(Time.day<31)
05C8 B603 lda *_Time+3
05CA A11F cmp #31
05CC 2404 bhs L129
05CE ; Time.day++;
05CE 3C03 inc *_Time+3
05D0 2060 bra L113
05D2 L129:
05D2 ; else
05D2 ; Time.day=1;
05D2 A601 lda #1
05D4 B703 sta *_Time+3
05D6 ; }
05D6 205A bra L113
05D8 L112:
05D8 ; else if((Time.month!=2)&&(Time.month==4)||(Time.month==6)||(Time.month==9)||(Time.month==11))
05D8 B602 lda *_Time+2
05DA A102 cmp #2
05DC 2706 beq L142
05DE B602 lda *_Time+2
05E0 A104 cmp #4
05E2 2712 beq L144
05E4 L142:
05E4 B602 lda *_Time+2
05E6 A106 cmp #6
05E8 270C beq L144
05EA B602 lda *_Time+2
05EC A109 cmp #9
05EE 2706 beq L144
05F0 B602 lda *_Time+2
05F2 A10B cmp #11
05F4 2610 bne L134
05F6 L144:
05F6 ; {
05F6 ; if(Time.day<30)
05F6 B603 lda *_Time+3
05F8 A11E cmp #30
05FA 2404 bhs L145
05FC ; Time.day++;
05FC 3C03 inc *_Time+3
05FE 2032 bra L135
0600 L145:
0600 ; else
0600 ; Time.day=1;
0600 A601 lda #1
0602 B703 sta *_Time+3
0604 ; }
0604 202C bra L135
0606 L134:
0606 ; else
0606 ; {
0606 ; if(!Is_yunnian(Time.year)) //如果不是闰年
0606 5500 ldhx *_Time
0608 89 pshx
0609 8B pshh
060A CD04B0 jsr _Is_yunnian
060D A702 ais #2
060F 95 tsx
0610 B700 sta *__r1
0612 2610 bne L150
0614 ; {
0614 ; if(Time.day<28)
0614 B603 lda *_Time+3
0616 A11C cmp #28
0618 2404 bhs L152
061A ; Time.day++;
061A 3C03 inc *_Time+3
061C 2014 bra L151
061E L152:
061E ; else
061E ; Time.day=1;
061E A601 lda #1
0620 B703 sta *_Time+3
0622 ; }
0622 200E bra L151
0624 L150:
0624 ; else
0624 ; {
0624 ; if(Time.day<29)
0624 B603 lda *_Time+3
0626 A11D cmp #29
0628 2404 bhs L157
062A ; Time.day++;
062A 3C03 inc *_Time+3
062C 2004 bra L158
062E L157:
062E ; else
062E ; Time.day=1;
062E A601 lda #1
0630 B703 sta *_Time+3
0632 L158:
0632 ; }
0632 L151:
0632 ; }
0632 L135:
0632 L113:
0632 ; Up_Modify_key_is_pressed_flag=0;
0632 3F34 clr *_Up_Modify_key_is_pressed_flag
0634 ; }
0634 L110:
0634 ;
0634 ; if(Down_Modify_key_is_pressed_flag)
0634 B635 lda *_Down_Modify_key_is_pressed_flag
0636 2603 bne X15
0638 CC06D7 jmp L162
063B X15:
063B ; {
063B ; if((Time.month!=2)&&(Time.month==1)||(Time.month==3)||(Time.month==5)||(Time.month==7)||(Time.month==8)||(Time.month==10||(Time.month==12)))
063B B602 lda *_Time+2
063D A102 cmp #2
063F 2706 beq L175
0641 B602 lda *_Time+2
0643 A101 cmp #1
0645 2724 beq L180
0647 L175:
0647 B602 lda *_Time+2
0649 A103 cmp #3
064B 271E beq L180
064D B602 lda *_Time+2
064F A105 cmp #5
0651 2718 beq L180
0653 B602 lda *_Time+2
0655 A107 cmp #7
0657 2712 beq L180
0659 B602 lda *_Time+2
065B A108 cmp #8
065D 270C beq L180
065F B602 lda *_Time+2
0661 A10A cmp #10
0663 2706 beq L180
0665 B602 lda *_Time+2
0667 A10C cmp #12
0669 2610 bne L164
066B L180:
066B ; {
066B ; if(Time.day>1)
066B B603 lda *_Time+3
066D A101 cmp #1
066F 2304 bls L181
0671 ; Time.day--;
0671 3A03 dec *_Time+3
0673 2060 bra L165
0675 L181:
0675 ; else
0675 ; Time.day=31;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -