📄 interrupt.lis
字号:
00C0 ; {
00C0 .dbline 70
00C0 ; if(bDate > 31)
00C0 8FE1 ldi R24,31
00C2 20900300 lds R2,_bDate
00C6 8215 cp R24,R2
00C8 78F5 brsh L17
00CA .dbline 71
00CA ; {
00CA .dbline 72
00CA ; bDate = 1;
00CA 81E0 ldi R24,1
00CC 80930300 sts _bDate,R24
00D0 .dbline 73
00D0 ; bMonth++;
00D0 80910400 lds R24,_bMonth
00D4 8F5F subi R24,255 ; addi 1
00D6 80930400 sts _bMonth,R24
00DA .dbline 74
00DA ; }
00DA .dbline 75
00DA ; }
00DA 26C0 xjmp L17
00DC L16:
00DC .dbline 76
00DC ; else if(bMonth == 2)
00DC 80910400 lds R24,_bMonth
00E0 8230 cpi R24,2
00E2 11F5 brne L26
00E4 .dbline 77
00E4 ; {
00E4 .dbline 78
00E4 ; if(bDate > 28)
00E4 8CE1 ldi R24,28
00E6 20900300 lds R2,_bDate
00EA 8215 cp R24,R2
00EC E8F4 brsh L28
00EE .dbline 79
00EE ; {
00EE .dbline 80
00EE ; if((bYear % 4) != 0)
00EE 14E0 ldi R17,4
00F0 00910500 lds R16,_bYear
00F4 0E940000 xcall mod8u
00F8 0023 tst R16
00FA 49F0 breq L30
00FC .dbline 81
00FC ; {
00FC .dbline 82
00FC ; bDate = 1;
00FC 81E0 ldi R24,1
00FE 80930300 sts _bDate,R24
0102 .dbline 83
0102 ; bMonth++;
0102 80910400 lds R24,_bMonth
0106 8F5F subi R24,255 ; addi 1
0108 80930400 sts _bMonth,R24
010C .dbline 84
010C ; }
010C 0DC0 xjmp L31
010E L30:
010E .dbline 86
010E ; else
010E ; {
010E .dbline 87
010E ; if(bDate > 29)
010E 8DE1 ldi R24,29
0110 20900300 lds R2,_bDate
0114 8215 cp R24,R2
0116 40F4 brsh L32
0118 .dbline 88
0118 ; {
0118 .dbline 89
0118 ; bDate = 1;
0118 81E0 ldi R24,1
011A 80930300 sts _bDate,R24
011E .dbline 90
011E ; bMonth++;
011E 80910400 lds R24,_bMonth
0122 8F5F subi R24,255 ; addi 1
0124 80930400 sts _bMonth,R24
0128 .dbline 91
0128 ; }
0128 L32:
0128 .dbline 92
0128 ; }
0128 L31:
0128 .dbline 93
0128 ; }
0128 L28:
0128 .dbline 94
0128 ; }
0128 L26:
0128 L17:
0128 L10:
0128 .dbline 95
0128 ; if(bMonth > 12)
0128 8CE0 ldi R24,12
012A 20900400 lds R2,_bMonth
012E 8215 cp R24,R2
0130 40F4 brsh L34
0132 .dbline 96
0132 ; {
0132 .dbline 97
0132 ; bMonth = 1;
0132 81E0 ldi R24,1
0134 80930400 sts _bMonth,R24
0138 .dbline 98
0138 ; bYear++;
0138 80910500 lds R24,_bYear
013C 8F5F subi R24,255 ; addi 1
013E 80930500 sts _bYear,R24
0142 .dbline 99
0142 ; }
0142 L34:
0142 .dbline 100
0142 ; }
0142 L7:
0142 .dbline 101
0142 ; }
0142 L5:
0142 .dbline 102
0142 L3:
0142 .dbline -2
0142 .dbline 103
0142 ; }
0142 ; }
0142 L2:
0142 .dbline 0 ; func end
0142 0895 ret
0144 .dbend
.area vector(rom, abs)
.org 12
000C 0C94A200 jmp _Timer2_Interrupt
.area text(rom, con, rel)
0144 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LCD菜单系统设计\interrupt.c
0144 .dbfunc e Timer2_Interrupt _Timer2_Interrupt fV
.even
0144 _Timer2_Interrupt::
0144 0E940000 xcall push_lset
0148 .dbline -1
0148 .dbline 113
0148 ;
0148 ; //***************************************************************
0148 ; // Function : Timer2_Interrupt
0148 ; // Input : none
0148 ; // Output : none
0148 ; // Description : Kernel Clock Interrupt Service Routine
0148 ; //***************************************************************
0148 ; #pragma interrupt_handler Timer2_Interrupt:4
0148 ; void Timer2_Interrupt(void)
0148 ; {
0148 .dbline 115
0148 ; //Clear Timer2 OCIF Flag
0148 ; TIFR |= 0x80;
0148 88B7 in R24,0x38
014A 8068 ori R24,128
014C 88BF out 0x38,R24
014E .dbline 116
014E ; TCNT2 = 0x00;
014E 2224 clr R2
0150 24BC out 0x24,R2
0152 .dbline 118
0152 ; //Update Task Status
0152 ; OS_Task_Update();
0152 0E940000 xcall _OS_Task_Update
0156 .dbline -2
0156 .dbline 119
0156 ; }
0156 L36:
0156 0E940000 xcall pop_lset
015A .dbline 0 ; func end
015A 1895 reti
015C .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\LCD菜单系统设计\interrupt.c
0000 _bSecond::
0000 .blkb 1
0001 .dbsym e bSecond _bSecond c
0001 _bMinute::
0001 .blkb 1
0002 .dbsym e bMinute _bMinute c
0002 _bHour::
0002 .blkb 1
0003 .dbsym e bHour _bHour c
0003 _bDate::
0003 .blkb 1
0004 .dbsym e bDate _bDate c
0004 _bMonth::
0004 .blkb 1
0005 .dbsym e bMonth _bMonth c
0005 _bYear::
0005 .blkb 1
0006 .dbsym e bYear _bYear c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -