📄 app.s
字号:
.dbline 153
; OSTaskCreate(AppTask2, (void *)0, (OS_STK *)&AppTask2Stk[OSTaskStkSize - 1], 2);
ldi R24,2
std y+2,R24
ldi R24,<_AppTask2Stk
ldi R25,>_AppTask2Stk
lds R30,_OSTaskStkSize
lds R31,_OSTaskStkSize+1
sbiw R30,1
add R30,R24
adc R31,R25
std y+1,R31
std y+0,R30
clr R18
clr R19
ldi R16,<PL_AppTask2
ldi R17,>PL_AppTask2
rcall _OSTaskCreate
.dbline -2
L9:
adiw R28,3
.dbline 0 ; func end
ret
.dbend
.dbfunc s AppTask1 _AppTask1 fV
; p_arg -> R20,R21
.even
_AppTask1:
rcall push_gset1
movw R20,R16
sbiw R28,4
.dbline -1
.dbline 163
; }
;
; /*
; *********************************************************************************************************
; * TASK #1
; *********************************************************************************************************
; */
;
; static void AppTask1(void *p_arg)
; {
.dbline 164
; p_arg = p_arg;
rjmp L12
L11:
.dbline 165
.dbline 168
ldi R24,<L14
ldi R25,>L14
std y+1,R25
std y+0,R24
ldi R18,1
ldi R16,1
rcall _LCD_write_string
.dbline 169
clr R2
clr R3
std y+3,R3
std y+2,R2
ldi R24,3
std y+0,R24
clr R18
clr R16
rcall _OSTimeDlyHMSM
.dbline 171
L12:
.dbline 165
rjmp L11
X1:
.dbline -2
L10:
adiw R28,4
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r p_arg 20 pV
.dbend
.dbfunc s AppTask2 _AppTask2 fV
; p_arg -> R20,R21
.even
_AppTask2:
rcall push_gset1
movw R20,R16
sbiw R28,4
.dbline -1
.dbline 181
; while (TRUE) {
; // LED_Toggle(2);
; //OSTimeDly(OS_TICKS_PER_SEC / 5);
; LCD_write_string(1,1,"I love UCOS-II");
; OSTimeDlyHMSM(0,0,3,0);
;
; }
; }
;
; /*
; *********************************************************************************************************
; * TASK #2
; *********************************************************************************************************
; */
;
; static void AppTask2(void *p_arg)
; {
.dbline 182
; p_arg = p_arg;
rjmp L17
L16:
.dbline 183
.dbline 186
clr R18
clr R19
ldi R16,1
ldi R17,0
rcall _LCD_write_char
.dbline 187
ldi R24,<L19
ldi R25,>L19
std y+1,R25
std y+0,R24
clr R18
clr R16
rcall _LCD_write_string
.dbline 188
ldi R24,<L20
ldi R25,>L20
std y+1,R25
std y+0,R24
ldi R18,1
clr R16
rcall _LCD_write_string
.dbline 189
clr R2
clr R3
std y+3,R3
std y+2,R2
ldi R24,5
std y+0,R24
clr R18
clr R16
rcall _OSTimeDlyHMSM
.dbline 190
L17:
.dbline 183
rjmp L16
X2:
.dbline -2
L15:
adiw R28,4
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r p_arg 20 pV
.dbend
.dbfunc s AppIOInit _AppIOInit fV
.even
_AppIOInit:
.dbline -1
.dbline 200
; while (TRUE) {
; //LED_Toggle(3);
; //OSTimeDly(OS_TICKS_PER_SEC / 2);
; LCD_write_char(0x01,0); /*显示清屏 */
; LCD_write_string(0,0," from MICRIUM ");
; LCD_write_string(0,1,"atmega8");
; OSTimeDlyHMSM(0,0,5,0);
; }
; }
;
; /*
; *********************************************************************************************************
; * SETUP THE I/Os
; *********************************************************************************************************
; */
;
; static void AppIOInit (void)
; {
.dbline 201
; DDRD |= LCD_DATA | LCD_RW;
in R24,0x11
ori R24,248
out 0x11,R24
.dbline 202
; DDRC |= LCD_RS | LCD_EN;
in R24,0x14
ori R24,48
out 0x14,R24
.dbline -2
L21:
.dbline 0 ; func end
ret
.dbend
.dbfunc e OSTickISR_Init _OSTickISR_Init fV
.even
_OSTickISR_Init::
.dbline -1
.dbline 212
; }
;
; /*
; *********************************************************************************************************
; * SETUP THE TICK RATE
; *********************************************************************************************************
; */
;
; void OSTickISR_Init (void)
; {
.dbline 215
; //TCCR0 = 0x07; /* Set TIMER0 prescaler to CLK/1024 */
; //TIMSK = 0x01;
; TCCR0 = 0x00;
clr R2
out 0x33,R2
.dbline 216
; TCNT0 = 0x64;
ldi R24,100
out 0x32,R24
.dbline 217
; TCCR0 = 0x05;
ldi R24,5
out 0x33,R24
.dbline 218
; TIMSK = 0x01; /* Enable TIMER0 overflow interrupt */
ldi R24,1
out 0x39,R24
.dbline -2
L22:
.dbline 0 ; func end
ret
.dbend
.dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
.even
_OSTickISR_Handler::
.dbline -1
.dbline 229
; }
;
;
; /*
; *********************************************************************************************************
; * SETUP THE TICK RATE
; *********************************************************************************************************
; */
;
; void OSTickISR_Handler (void)
; {
.dbline 230
; TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
ldi R24,100
out 0x32,R24
.dbline 231
; OSTimeTick();
rcall _OSTimeTick
.dbline -2
L23:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
_i::
.blkb 2
.dbsym e i _i pc
_AppTask2Stk::
.blkb 128
.dbsym e AppTask2Stk _AppTask2Stk A[128:128]c
_AppTask1Stk::
.blkb 128
.dbsym e AppTask1Stk _AppTask1Stk A[128:128]c
_AppTaskStartStk::
.blkb 128
.dbsym e AppTaskStartStk _AppTaskStartStk A[128:128]c
.area data(ram, con, rel)
.dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
L20:
.blkb 8
.area idata
.byte 'a,'t,'m,'e,'g,'a,56,0
.area data(ram, con, rel)
.dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
L19:
.blkb 15
.area idata
.byte 32,'f,'r,'o,'m,32,'M,'I,'C,'R,'I,'U,'M,32,0
.area data(ram, con, rel)
.dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
L14:
.blkb 15
.area idata
.byte 'I,32,'l,'o,'v,'e,32,'U,'C,'O,'S,45,'I,'I,0
.area data(ram, con, rel)
.dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
L8:
.blkb 8
.area idata
.byte 'W,'e,'l,'c,'o,'m,'e,0
.area data(ram, con, rel)
.dbfile F:\AVRPRA~1\ucosii-port2-mega8\app.c
.area func_lit
PL_AppTask2: .word `_AppTask2
PL_AppTask1: .word `_AppTask1
PL_AppTaskStart: .word `_AppTaskStart
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -