📄 vectors08.lis
字号:
0192 A10B cmp #11
0194 2627 bne L57
0196 L67:
0196 ; {
0196 ; if(Time.day!=30) goto isrTIMER1_exit;
0196 B603 lda *_Time+3
0198 A11E cmp #30
019A 2703 beq L68
019C CC029E jmp L16
019F L68:
019F ; Time.day=0;
019F 3F03 clr *_Time+3
01A1 ; Time.month++;
01A1 3C02 inc *_Time+2
01A3 ; if(Time.month!=12) goto isrTIMER1_exit;
01A3 B602 lda *_Time+2
01A5 A10C cmp #12
01A7 2703 beq L73
01A9 CC029E jmp L16
01AC L73:
01AC ; Time.month=0;
01AC 3F02 clr *_Time+2
01AE ; Time.year++;
01AE B601 lda *_Time+1
01B0 AB01 add #1
01B2 B701 sta *_Time+1
01B4 B600 lda *_Time
01B6 A900 adc #0
01B8 B700 sta *_Time
01BA ; }
01BA CC029E jmp L30
01BD L57:
01BD ; else
01BD ; {
01BD ; if(Time.day!=28) goto isrTIMER1_exit;
01BD B603 lda *_Time+3
01BF A11C cmp #28
01C1 2703 beq L77
01C3 CC029E jmp L16
01C6 L77:
01C6 ; Time.day=0;
01C6 3F03 clr *_Time+3
01C8 ; Time.month++;
01C8 3C02 inc *_Time+2
01CA ; if(Time.month!=12) goto isrTIMER1_exit;
01CA B602 lda *_Time+2
01CC A10C cmp #12
01CE 2703 beq L82
01D0 CC029E jmp L16
01D3 L82:
01D3 ; Time.month=0;
01D3 3F02 clr *_Time+2
01D5 ; Time.year++;
01D5 B601 lda *_Time+1
01D7 AB01 add #1
01D9 B701 sta *_Time+1
01DB B600 lda *_Time
01DD A900 adc #0
01DF B700 sta *_Time
01E1 ; }
01E1 ; }
01E1 CC029E jmp L30
01E4 L29:
01E4 ; else //否则为闰年
01E4 ; {
01E4 ; 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)))
01E4 B602 lda *_Time+2
01E6 A102 cmp #2
01E8 2706 beq L97
01EA B602 lda *_Time+2
01EC A101 cmp #1
01EE 2724 beq L102
01F0 L97:
01F0 B602 lda *_Time+2
01F2 A103 cmp #3
01F4 271E beq L102
01F6 B602 lda *_Time+2
01F8 A105 cmp #5
01FA 2718 beq L102
01FC B602 lda *_Time+2
01FE A107 cmp #7
0200 2712 beq L102
0202 B602 lda *_Time+2
0204 A108 cmp #8
0206 270C beq L102
0208 B602 lda *_Time+2
020A A10A cmp #10
020C 2706 beq L102
020E B602 lda *_Time+2
0210 A10C cmp #12
0212 2626 bne L86
0214 L102:
0214 ; {
0214 ; if(Time.day!=31) goto isrTIMER1_exit;
0214 B603 lda *_Time+3
0216 A11F cmp #31
0218 2703 beq L103
021A CC029E jmp L16
021D L103:
021D ; Time.day=0;
021D 3F03 clr *_Time+3
021F ; Time.month++;
021F 3C02 inc *_Time+2
0221 ; if(Time.month!=12) goto isrTIMER1_exit;
0221 B602 lda *_Time+2
0223 A10C cmp #12
0225 2703 beq L108
0227 CC029E jmp L16
022A L108:
022A ; Time.month=0;
022A 3F02 clr *_Time+2
022C ; Time.year++;
022C B601 lda *_Time+1
022E AB01 add #1
0230 B701 sta *_Time+1
0232 B600 lda *_Time
0234 A900 adc #0
0236 B700 sta *_Time
0238 ; }
0238 2064 bra L87
023A L86:
023A ; else if((Time.month!=2)&&(Time.month==4)||(Time.month==6)||(Time.month==9)||(Time.month==11))
023A B602 lda *_Time+2
023C A102 cmp #2
023E 2706 beq L120
0240 B602 lda *_Time+2
0242 A104 cmp #4
0244 2712 beq L122
0246 L120:
0246 B602 lda *_Time+2
0248 A106 cmp #6
024A 270C beq L122
024C B602 lda *_Time+2
024E A109 cmp #9
0250 2706 beq L122
0252 B602 lda *_Time+2
0254 A10B cmp #11
0256 2624 bne L112
0258 L122:
0258 ; {
0258 ; if(Time.day!=30) goto isrTIMER1_exit;
0258 B603 lda *_Time+3
025A A11E cmp #30
025C 2702 beq L123
025E 203E bra L16
0260 L123:
0260 ; Time.day=0;
0260 3F03 clr *_Time+3
0262 ; Time.month++;
0262 3C02 inc *_Time+2
0264 ; if(Time.month!=12) goto isrTIMER1_exit;
0264 B602 lda *_Time+2
0266 A10C cmp #12
0268 2702 beq L128
026A 2032 bra L16
026C L128:
026C ; Time.month=0;
026C 3F02 clr *_Time+2
026E ; Time.year++;
026E B601 lda *_Time+1
0270 AB01 add #1
0272 B701 sta *_Time+1
0274 B600 lda *_Time
0276 A900 adc #0
0278 B700 sta *_Time
027A ; }
027A 2022 bra L113
027C L112:
027C ; else
027C ; {
027C ; if(Time.day!=29) goto isrTIMER1_exit;
027C B603 lda *_Time+3
027E A11D cmp #29
0280 2702 beq L132
0282 201A bra L16
0284 L132:
0284 ; Time.day=0;
0284 3F03 clr *_Time+3
0286 ; Time.month++;
0286 3C02 inc *_Time+2
0288 ; if(Time.month!=12) goto isrTIMER1_exit;
0288 B602 lda *_Time+2
028A A10C cmp #12
028C 2702 beq L137
028E 200E bra L16
0290 L137:
0290 ; Time.month=0;
0290 3F02 clr *_Time+2
0292 ; Time.year++;
0292 B601 lda *_Time+1
0294 AB01 add #1
0296 B701 sta *_Time+1
0298 B600 lda *_Time
029A A900 adc #0
029C B700 sta *_Time
029E ; }
029E L113:
029E L87:
029E ; }
029E L30:
029E L16:
029E ; isrTIMER1_exit:
029E ; if(Timer_5sec_trigger)
029E B600 lda *_Timer_5sec_trigger
02A0 2702 beq L141
02A2 ; {
02A2 ; Timer_5sec_counter++;
02A2 3C00 inc *_Timer_5sec_counter
02A4 ; }
02A4 L141:
02A4 ; if(Alarm_enable_flag&&(Time.year==Alarm.year)&&(Time.month==Alarm.month)&&(Time.day==Alarm.day)&&(Time.hour==Alarm.hour)&&(Time.min==Alarm.min))
02A4 B600 lda *_Alarm_enable_flag
02A6 2725 beq L143
02A8 5500 ldhx *_Time
02AA 7500 cphx *_Alarm
02AC 95 tsx
02AD 261E bne L143
02AF B602 lda *_Time+2
02B1 B102 cmp *_Alarm+2
02B3 2618 bne L143
02B5 B603 lda *_Time+3
02B7 B103 cmp *_Alarm+3
02B9 2612 bne L143
02BB B604 lda *_Time+4
02BD B104 cmp *_Alarm+4
02BF 260C bne L143
02C1 B605 lda *_Time+5
02C3 B105 cmp *_Alarm+5
02C5 2606 bne L143
02C7 ; {
02C7 ; Alarm_trigger=1;
02C7 A601 lda #1
02C9 B700 sta *_Alarm_trigger
02CB ; Alarm_counter++;
02CB 3C00 inc *_Alarm_counter
02CD ; }
02CD L143:
02CD ; if((Time.min==0)&&(Time.sec==0))
02CD B605 lda *_Time+5
02CF 2608 bne L153
02D1 B606 lda *_Time+6
02D3 2604 bne L153
02D5 ; {
02D5 ; Minute_second_integral_flag=1;
02D5 A601 lda #1
02D7 B700 sta *_Minute_second_integral_flag
02D9 ; }
02D9 L153:
02D9 ; if(Minute_second_integral_flag)
02D9 B600 lda *_Minute_second_integral_flag
02DB 2702 beq L157
02DD ; Integral_counter++;
02DD 3C00 inc *_Integral_counter
02DF L157:
02DF ;
02DF ;
02DF ; //------------------------------
02DF ; //清除定时器溢出标志位
02DF ; Time_fresh=1; //置时间更新位!
02DF A601 lda #1
02E1 B700 sta *_Time_fresh
02E3 ; Alarm_fresh=1;
02E3 A601 lda #1
02E5 B700 sta *_Alarm_fresh
02E7 ; T1SC&=~(1<<TOFBit);
02E7 1F20 bclr #7,0x20
02E9 ; asm("CLI"); //开总中断
02E9 9A CLI
02EA L11:
02EA A702 ais #2
02EC .dbline 0 ; func end
02EC 86 pula
02ED B700 sta *__rlo
02EF 86 pula
02F0 B700 sta *__rhi
02F2 86 pula
02F3 B700 sta *__r11
02F5 86 pula
02F6 B700 sta *__r10
02F8 86 pula
02F9 B700 sta *__r9
02FB 86 pula
02FC B700 sta *__r8
02FE 86 pula
02FF B700 sta *__r7
0301 86 pula
0302 B700 sta *__r6
0304 86 pula
0305 B700 sta *__r5
0307 86 pula
0308 B700 sta *__r4
030A 86 pula
030B B700 sta *__r3
030D 86 pula
030E B700 sta *__r2
0310 86 pula
0311 B700 sta *__r1
0313 86 pula
0314 B700 sta *__r0
0316 8A pulh
0317 80 rti
0318 _isrDummy::
0318 8B pshh
0319 ; }
0319 ;
0319 ; #pragma interrupt_handler isrDummy
0319 ; void isrDummy(void)
0319 ; {
0319 L159:
0319 .dbline 0 ; func end
0319 8A pulh
031A 80 rti
.area memory(abs)
.org 0xffdc
FFDC __vectab::
FFDC 0318 .word _isrDummy
FFDE 0318 .word _isrDummy
FFE0 0000 .word _isrKBI
FFE2 0318 .word _isrDummy
FFE4 0318 .word _isrDummy
FFE6 0318 .word _isrDummy
FFE8 0318 .word _isrDummy
FFEA 0318 .word _isrDummy
FFEC 0318 .word _isrDummy
FFEE 0318 .word _isrDummy
FFF0 0318 .word _isrDummy
FFF2 00B8 .word _isrTIMER1
FFF4 0318 .word _isrDummy
FFF6 0318 .word _isrDummy
FFF8 0318 .word _isrDummy
FFFA 0318 .word _isrDummy
FFFC 0318 .word _isrDummy
.area lit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -