📄 main.lis
字号:
.module main.c
.area vector(rom, abs)
.org 64
0040 0C940000 jmp _OSTickISR
.area text(rom, con, rel)
.even
0000 _main::
0000 2397 sbiw R28,3
0002 ; /*
0002 ; 高级实验UCOS:
0002 ; UCOS操作系统实验。
0002 ; 1、UCOS简单移植实验,运行了三个小任务,用来改变指示灯闪烁。
0002 ; 2、使用外部3.6864M晶振。
0002 ; 3、进行此实验请插上LED短路块。
0002 ; 4、此实验只是UCOS的简单应用,可以作为UCOS学习的开始,有了一个平台。
0002 ;
0002 ; AVR mega128学习板
0002 ; www.iccavr.com 阿发
0002 ; 1:15 2007-10-20
0002 ; */
0002 ; #include <ucos_ii.h> /*头文件统一包含*/
0002 ;
0002 ; extern OS_STK TaskSSTK[OS_TASK_STK_SIZE]; /*定义任务堆栈*/
0002 ; extern void TaskS(void *temp); /*声明任务*/
0002 ;
0002 ; void main (void) {
0002 ;
0002 ; OSTaskStkSize = OS_TASK_STK_SIZE;
0002 80E8 ldi R24,128
0004 90E0 ldi R25,0
0006 90930100 sts _OSTaskStkSize+1,R25
000A 80930000 sts _OSTaskStkSize,R24
000E ; OSTaskHardStkSize = OS_TASK_HARD_STK_SIZE;
000E 80E4 ldi R24,64
0010 90930100 sts _OSTaskHardStkSize+1,R25
0014 80930000 sts _OSTaskHardStkSize,R24
0018 ;
0018 ; OSInit();
0018 0E940000 xcall _OSInit
001C ; OSTaskCreate(TaskS, (void *)0, (OS_STK *)&TaskSSTK[OS_TASK_STK_SIZE - 1], 0);
001C 2224 clr R2
001E 2A82 std y+2,R2
0020 80E0 ldi R24,<_TaskSSTK+127
0022 90E0 ldi R25,>_TaskSSTK+127
0024 9983 std y+1,R25
0026 8883 std y+0,R24
0028 2227 clr R18
002A 3327 clr R19
002C 00E0 ldi R16,<PL_TaskS
002E 10E0 ldi R17,>PL_TaskS
0030 0E940000 xcall _OSTaskCreate
0034 ; OSStart();
0034 0E940000 xcall _OSStart
0038 L1:
0038 2396 adiw R28,3
003A .dbline 0 ; func end
003A 0895 ret
.area func_lit
0000 0000 PL_TaskS: .word `_TaskS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -