?? test1.s
字號:
.module test1.c
.area text(rom, con, rel)
.dbfile G:\編程2002-10-15-HOME\做過的項目\2002-10-22\home-c\software\ucos-ii-at90S-icc-avr\os-task-switch\test1.c
.dbfunc e main _main fV
; err -> R20
.even
_main::
sbiw R28,7
.dbline -1
.dbline 5
; //test1.c
; #include "includes.h"
;
; void main(void)
; {
.dbline 7
; INT8U err;
; ProgramStart();
rcall _ProgramStart
.dbline 8
; OSInit();
rcall _OSInit
.dbline 10
; //create task1
; err=OSTaskCreate(&tcb_task1,task1,(void*)(int)1,
clr R2
std y+6,R2
ldi R24,128
ldi R25,0
std y+4,R24
std y+5,R25
ldi R24,<_stk_task1+127
ldi R25,>_stk_task1+127
std y+2,R24
std y+3,R25
ldi R24,1
ldi R25,0
std y+0,R24
std y+1,R25
ldi R18,<PL_task1
ldi R19,>PL_task1
ldi R16,<_tcb_task1
ldi R17,>_tcb_task1
rcall _OSTaskCreate
mov R20,R16
.dbline 15
; &stk_task1[OS_TASK_STACK_SIZE-1],
; OS_TASK_STACK_SIZE,
; 0);
; #if OS_STRICT
; if(OS_NO_ERR!=err)
tst R16
breq L3
.dbline 16
; OSError(0);
clr R16
rcall _OSError
L3:
.dbline 19
; #endif
; //create task2
; err=OSTaskCreate(&tcb_task2,task2,(void*)(int)2,
ldi R24,1
std y+6,R24
ldi R24,128
ldi R25,0
std y+4,R24
std y+5,R25
ldi R24,<_stk_task2+127
ldi R25,>_stk_task2+127
std y+2,R24
std y+3,R25
ldi R24,2
ldi R25,0
std y+0,R24
std y+1,R25
ldi R18,<PL_task2
ldi R19,>PL_task2
ldi R16,<_tcb_task2
ldi R17,>_tcb_task2
rcall _OSTaskCreate
mov R20,R16
.dbline 24
; &stk_task2[OS_TASK_STACK_SIZE-1],
; OS_TASK_STACK_SIZE,
; 1);
; #if OS_STRICT
; if(OS_NO_ERR!=err)
tst R16
breq L6
.dbline 25
; OSError(0);
clr R16
rcall _OSError
L6:
.dbline 29
; #endif
;
; //create task3
; err=OSTaskCreate(&tcb_task3,task3,(void*)(int)3,
ldi R24,2
std y+6,R24
ldi R24,128
ldi R25,0
std y+4,R24
std y+5,R25
ldi R24,<_stk_task3+127
ldi R25,>_stk_task3+127
std y+2,R24
std y+3,R25
ldi R24,3
ldi R25,0
std y+0,R24
std y+1,R25
ldi R18,<PL_task3
ldi R19,>PL_task3
ldi R16,<_tcb_task3
ldi R17,>_tcb_task3
rcall _OSTaskCreate
mov R20,R16
.dbline 34
; &stk_task3[OS_TASK_STACK_SIZE-1],
; OS_TASK_STACK_SIZE,
; 2);
; #if OS_STRICT
; if(OS_NO_ERR!=err)
tst R16
breq L9
.dbline 35
; OSError(0);
clr R16
rcall _OSError
L9:
.dbline 38
; #endif
; //////////
; TC2_Init();
rcall _TC2_Init
.dbline 39
; SEI();
sei
.dbline 40
; OSStart(); // start multitasking
rcall _OSStart
.dbline 43
;
; #if OS_STRICT
; OSError(0);
clr R16
rcall _OSError
L11:
.dbline 46
L12:
.dbline 45
rjmp L11
X0:
.dbline -2
.dbline 47
; #endif
; while(1)
; ;
; }
L1:
adiw R28,7
.dbline 0 ; func end
ret
.dbsym r err 20 c
.dbend
.area vector(rom, abs)
.org 14
rjmp _OSTickISR
.area text(rom, con, rel)
.dbfile G:\編程2002-10-15-HOME\做過的項目\2002-10-22\home-c\software\ucos-ii-at90S-icc-avr\os-task-switch\test1.c
.area func_lit
PL_task3: .word `_task3
PL_task2: .word `_task2
PL_task1: .word `_task1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -