📄 app.lis
字号:
00EE .dbline 153
00EE ; OSTaskCreate(AppTask2, (void *)0, (OS_STK *)&AppTask2Stk[OSTaskStkSize - 1], 2);
00EE 82E0 ldi R24,2
00F0 8A83 std y+2,R24
00F2 80E0 ldi R24,<_AppTask2Stk
00F4 90E0 ldi R25,>_AppTask2Stk
00F6 E0910000 lds R30,_OSTaskStkSize
00FA F0910100 lds R31,_OSTaskStkSize+1
00FE 3197 sbiw R30,1
0100 E80F add R30,R24
0102 F91F adc R31,R25
0104 F983 std y+1,R31
0106 E883 std y+0,R30
0108 2227 clr R18
010A 3327 clr R19
010C 00E0 ldi R16,<PL_AppTask2
010E 10E0 ldi R17,>PL_AppTask2
0110 00D0 rcall _OSTaskCreate
0112 .dbline -2
0112 L9:
0112 2396 adiw R28,3
0114 .dbline 0 ; func end
0114 0895 ret
0116 .dbend
0116 .dbfunc s AppTask1 _AppTask1 fV
0116 ; p_arg -> R20,R21
.even
0116 _AppTask1:
0116 00D0 rcall push_gset1
0118 A801 movw R20,R16
011A 2497 sbiw R28,4
011C .dbline -1
011C .dbline 163
011C ; }
011C ;
011C ; /*
011C ; *********************************************************************************************************
011C ; * TASK #1
011C ; *********************************************************************************************************
011C ; */
011C ;
011C ; static void AppTask1(void *p_arg)
011C ; {
011C .dbline 164
011C ; p_arg = p_arg;
011C 10C0 rjmp L12
011E L11:
011E .dbline 165
011E .dbline 168
011E 80E0 ldi R24,<L14
0120 90E0 ldi R25,>L14
0122 9983 std y+1,R25
0124 8883 std y+0,R24
0126 21E0 ldi R18,1
0128 01E0 ldi R16,1
012A 00D0 rcall _LCD_write_string
012C .dbline 169
012C 2224 clr R2
012E 3324 clr R3
0130 3B82 std y+3,R3
0132 2A82 std y+2,R2
0134 83E0 ldi R24,3
0136 8883 std y+0,R24
0138 2227 clr R18
013A 0027 clr R16
013C 00D0 rcall _OSTimeDlyHMSM
013E .dbline 171
013E L12:
013E .dbline 165
013E EFCF rjmp L11
0140 X1:
0140 .dbline -2
0140 L10:
0140 2496 adiw R28,4
0142 00D0 rcall pop_gset1
0144 .dbline 0 ; func end
0144 0895 ret
0146 .dbsym r p_arg 20 pV
0146 .dbend
0146 .dbfunc s AppTask2 _AppTask2 fV
0146 ; p_arg -> R20,R21
.even
0146 _AppTask2:
0146 00D0 rcall push_gset1
0148 A801 movw R20,R16
014A 2497 sbiw R28,4
014C .dbline -1
014C .dbline 181
014C ; while (TRUE) {
014C ; // LED_Toggle(2);
014C ; //OSTimeDly(OS_TICKS_PER_SEC / 5);
014C ; LCD_write_string(1,1,"I love UCOS-II");
014C ; OSTimeDlyHMSM(0,0,3,0);
014C ;
014C ; }
014C ; }
014C ;
014C ; /*
014C ; *********************************************************************************************************
014C ; * TASK #2
014C ; *********************************************************************************************************
014C ; */
014C ;
014C ; static void AppTask2(void *p_arg)
014C ; {
014C .dbline 182
014C ; p_arg = p_arg;
014C 1CC0 rjmp L17
014E L16:
014E .dbline 183
014E .dbline 186
014E 2227 clr R18
0150 3327 clr R19
0152 01E0 ldi R16,1
0154 10E0 ldi R17,0
0156 00D0 rcall _LCD_write_char
0158 .dbline 187
0158 80E0 ldi R24,<L19
015A 90E0 ldi R25,>L19
015C 9983 std y+1,R25
015E 8883 std y+0,R24
0160 2227 clr R18
0162 0027 clr R16
0164 00D0 rcall _LCD_write_string
0166 .dbline 188
0166 80E0 ldi R24,<L20
0168 90E0 ldi R25,>L20
016A 9983 std y+1,R25
016C 8883 std y+0,R24
016E 21E0 ldi R18,1
0170 0027 clr R16
0172 00D0 rcall _LCD_write_string
0174 .dbline 189
0174 2224 clr R2
0176 3324 clr R3
0178 3B82 std y+3,R3
017A 2A82 std y+2,R2
017C 85E0 ldi R24,5
017E 8883 std y+0,R24
0180 2227 clr R18
0182 0027 clr R16
0184 00D0 rcall _OSTimeDlyHMSM
0186 .dbline 190
0186 L17:
0186 .dbline 183
0186 E3CF rjmp L16
0188 X2:
0188 .dbline -2
0188 L15:
0188 2496 adiw R28,4
018A 00D0 rcall pop_gset1
018C .dbline 0 ; func end
018C 0895 ret
018E .dbsym r p_arg 20 pV
018E .dbend
018E .dbfunc s AppIOInit _AppIOInit fV
.even
018E _AppIOInit:
018E .dbline -1
018E .dbline 200
018E ; while (TRUE) {
018E ; //LED_Toggle(3);
018E ; //OSTimeDly(OS_TICKS_PER_SEC / 2);
018E ; LCD_write_char(0x01,0); /*显示清屏 */
018E ; LCD_write_string(0,0," from MICRIUM ");
018E ; LCD_write_string(0,1,"atmega8");
018E ; OSTimeDlyHMSM(0,0,5,0);
018E ; }
018E ; }
018E ;
018E ; /*
018E ; *********************************************************************************************************
018E ; * SETUP THE I/Os
018E ; *********************************************************************************************************
018E ; */
018E ;
018E ; static void AppIOInit (void)
018E ; {
018E .dbline 201
018E ; DDRD |= LCD_DATA | LCD_RW;
018E 81B3 in R24,0x11
0190 886F ori R24,248
0192 81BB out 0x11,R24
0194 .dbline 202
0194 ; DDRC |= LCD_RS | LCD_EN;
0194 84B3 in R24,0x14
0196 8063 ori R24,48
0198 84BB out 0x14,R24
019A .dbline -2
019A L21:
019A .dbline 0 ; func end
019A 0895 ret
019C .dbend
019C .dbfunc e OSTickISR_Init _OSTickISR_Init fV
.even
019C _OSTickISR_Init::
019C .dbline -1
019C .dbline 212
019C ; }
019C ;
019C ; /*
019C ; *********************************************************************************************************
019C ; * SETUP THE TICK RATE
019C ; *********************************************************************************************************
019C ; */
019C ;
019C ; void OSTickISR_Init (void)
019C ; {
019C .dbline 215
019C ; //TCCR0 = 0x07; /* Set TIMER0 prescaler to CLK/1024 */
019C ; //TIMSK = 0x01;
019C ; TCCR0 = 0x00;
019C 2224 clr R2
019E 23BE out 0x33,R2
01A0 .dbline 216
01A0 ; TCNT0 = 0x64;
01A0 84E6 ldi R24,100
01A2 82BF out 0x32,R24
01A4 .dbline 217
01A4 ; TCCR0 = 0x05;
01A4 85E0 ldi R24,5
01A6 83BF out 0x33,R24
01A8 .dbline 218
01A8 ; TIMSK = 0x01; /* Enable TIMER0 overflow interrupt */
01A8 81E0 ldi R24,1
01AA 89BF out 0x39,R24
01AC .dbline -2
01AC L22:
01AC .dbline 0 ; func end
01AC 0895 ret
01AE .dbend
01AE .dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
.even
01AE _OSTickISR_Handler::
01AE .dbline -1
01AE .dbline 229
01AE ; }
01AE ;
01AE ;
01AE ; /*
01AE ; *********************************************************************************************************
01AE ; * SETUP THE TICK RATE
01AE ; *********************************************************************************************************
01AE ; */
01AE ;
01AE ; void OSTickISR_Handler (void)
01AE ; {
01AE .dbline 230
01AE ; TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
01AE 84E6 ldi R24,100
01B0 82BF out 0x32,R24
01B2 .dbline 231
01B2 ; OSTimeTick();
01B2 00D0 rcall _OSTimeTick
01B4 .dbline -2
01B4 L23:
01B4 .dbline 0 ; func end
01B4 0895 ret
01B6 .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
0000 _i::
0000 .blkb 2
0002 .dbsym e i _i pc
0002 _AppTask2Stk::
0002 .blkb 128
0082 .dbsym e AppTask2Stk _AppTask2Stk A[128:128]c
0082 _AppTask1Stk::
0082 .blkb 128
0102 .dbsym e AppTask1Stk _AppTask1Stk A[128:128]c
0102 _AppTaskStartStk::
0102 .blkb 128
0182 .dbsym e AppTaskStartStk _AppTaskStartStk A[128:128]c
.area data(ram, con, rel)
0000 .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
0000 L20:
0000 .blkb 8
.area idata
0000 61746D6567613800 .byte 'a,'t,'m,'e,'g,'a,56,0
.area data(ram, con, rel)
0008 .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
0008 L19:
0008 .blkb 15
.area idata
0008 2066726F6D204D49435249554D2000 .byte 32,'f,'r,'o,'m,32,'M,'I,'C,'R,'I,'U,'M,32,0
.area data(ram, con, rel)
0017 .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
0017 L14:
0017 .blkb 15
.area idata
0017 49206C6F76652055434F532D494900 .byte 'I,32,'l,'o,'v,'e,32,'U,'C,'O,'S,45,'I,'I,0
.area data(ram, con, rel)
0026 .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
0026 L8:
0026 .blkb 8
.area idata
0026 57656C636F6D6500 .byte 'W,'e,'l,'c,'o,'m,'e,0
.area data(ram, con, rel)
002E .dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
.area func_lit
0000 A300 PL_AppTask2: .word `_AppTask2
0002 8B00 PL_AppTask1: .word `_AppTask1
0004 2D00 PL_AppTaskStart: .word `_AppTaskStart
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -