⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app.lis

📁 非剥夺型占先式minOS_iccavr avr单片机 icc编译环境
💻 LIS
字号:
                         .module App.c
                         .area text(rom, con, rel)
 0000                   .dbfile C:\icc\minOS_iccavr\App.c
 0000                   .dbfunc s main _main fI
                         .even
 0000                 _main::
 0000 2197              sbiw R28,1
 0002                   .dbline -1
 0002                   .dbline 26
                       ; #include "OS_Includes.h"
                       ; 
                       ; //PORTB bit4-bit7 for to drive LED1-LED4.
                       ; #define LED1_ON() (PORTB |= (0x1<<4))
                       ; #define LED1_OFF() (PORTB &= ~(0x1<<4))
                       ; #define LED2_ON() (PORTB |= (0x1<<5))
                       ; #define LED2_OFF() (PORTB &= ~(0x1<<5))
                       ; #define LED3_ON() (PORTB |= (0x1<<6))
                       ; #define LED3_OFF() (PORTB &= ~(0x1<<6))
                       ; #define LED4_ON() (PORTB |= (0x1<<7))
                       ; #define LED4_OFF() (PORTB &= ~(0x1<<7))
                       ; 
                       ; #define INIT_LED_Drv() (DDRB |= 0xf0)   //PORTB bit4-bit7 used to LED1-LED4
                       ; 
                       ; void TaskA(void);
                       ; #define TaskAPrio    1                        //声明任务TaskA(void)的优先级。
                       ; OS_STK TaskAStk[MAX_STK_SIZE];   //声明任务TaskA(void)的堆栈空间。
                       ; void TaskB(void);
                       ; #define TaskBPrio    2                        //声明任务TaskB(void)的优先级。
                       ; OS_STK TaskBStk[MAX_STK_SIZE];   //声明任务TaskB(void)的堆栈空间。
                       ; void TaskC(void);
                       ; #define TaskCPrio    3                        //声明任务TaskC(void)的优先级。
                       ; OS_STK TaskCStk[MAX_STK_SIZE];   //声明任务TaskC(void)的堆栈空间。
                       ; 
                       ; void main(void)
                       ; {
 0002                   .dbline 27
                       ;     OSInitSP();
 0002 00D0              rcall _OSInitSP
 0004                   .dbline 28
                       ;     OSInit();               //初始化OS任务控制块(initialization OSTCB)。
 0004 00D0              rcall _OSInit
 0006                   .dbline 29
                       ;     OSTaskCreate(TaskA,&TaskAStk[MAX_STK_SIZE],TaskAPrio); //建立任务TaskA(void)。
 0006 81E0              ldi R24,1
 0008 8883              std y+0,R24
 000A 20E0              ldi R18,<_TaskAStk+48
 000C 30E0              ldi R19,>_TaskAStk+48
 000E 00E0              ldi R16,<PL_TaskA
 0010 10E0              ldi R17,>PL_TaskA
 0012 00D0              rcall _OSTaskCreate
 0014                   .dbline 30
                       ;     OSTaskCreate(TaskB,&TaskBStk[MAX_STK_SIZE],TaskBPrio); //建立任务TaskB(void)。
 0014 82E0              ldi R24,2
 0016 8883              std y+0,R24
 0018 20E0              ldi R18,<_TaskBStk+48
 001A 30E0              ldi R19,>_TaskBStk+48
 001C 00E0              ldi R16,<PL_TaskB
 001E 10E0              ldi R17,>PL_TaskB
 0020 00D0              rcall _OSTaskCreate
 0022                   .dbline 31
                       ;     OSTaskCreate(TaskC,&TaskCStk[MAX_STK_SIZE],TaskCPrio); //建立任务TaskC(void)。
 0022 83E0              ldi R24,3
 0024 8883              std y+0,R24
 0026 20E0              ldi R18,<_TaskCStk+48
 0028 30E0              ldi R19,>_TaskCStk+48
 002A 00E0              ldi R16,<PL_TaskC
 002C 10E0              ldi R17,>PL_TaskC
 002E 00D0              rcall _OSTaskCreate
 0030                   .dbline 33
                       ; 
                       ;     INIT_LED_Drv();
 0030 87B3              in R24,0x17
 0032 806F              ori R24,240
 0034 87BB              out 0x17,R24
 0036                   .dbline 35
                       ;     
                       ;     OSStart();                              //起动OS。
 0036 00D0              rcall _OSStart
 0038 0DC0              rjmp L7
 003A                 L6:
 003A                   .dbline 38
 003A                   .dbline 39
 003A C49A              sbi 0x18,4
 003C                   .dbline 40
 003C 01E0              ldi R16,1
 003E 00D0              rcall _OSTaskResume
 0040                   .dbline 41
 0040 00910000          lds R16,_OS_TASK_CrtPrio
 0044 00D0              rcall _OSTaskSuspend
 0046                   .dbline 42
 0046 01E0              ldi R16,1
 0048 10E0              ldi R17,0
 004A 00D0              rcall _OSTimeDly
 004C                   .dbline 43
 004C C498              cbi 0x18,4
 004E                   .dbline 44
 004E 01E0              ldi R16,1
 0050 10E0              ldi R17,0
 0052 00D0              rcall _OSTimeDly
 0054                   .dbline 45
 0054                 L7:
 0054                   .dbline 37
 0054 F2CF              rjmp L6
 0056                 X0:
 0056                   .dbline -2
 0056                   .dbline 46
                       ;     
                       ;     while (1)
                       ;     {
                       ;         LED1_ON();
                       ;         OSTaskResume(TaskAPrio);    
                       ;         OSTaskSuspend(OS_TASK_Me);
                       ;         OSTimeDly(1);
                       ;         LED1_OFF(); 
                       ;         OSTimeDly(1);
                       ;     }
                       ; }
 0056                 L2:
 0056 2196              adiw R28,1
 0058                   .dbline 0 ; func end
 0058 0895              ret
 005A                   .dbfunc s TaskA _TaskA fI
                         .even
 005A                 _TaskA::
 005A                   .dbline -1
 005A                   .dbline 49
                       ; 
                       ; void TaskA(void)
                       ; {
 005A 0AC0              rjmp L11
 005C                 L10:
 005C                   .dbline 51
 005C                   .dbline 52
 005C 0027              clr R16
 005E 00D0              rcall _OSTaskResume
 0060                   .dbline 54
 0060 C59A              sbi 0x18,5
 0062                   .dbline 55
 0062 02E0              ldi R16,2
 0064 10E0              ldi R17,0
 0066 00D0              rcall _OSTimeDly
 0068                   .dbline 56
 0068 C598              cbi 0x18,5
 006A                   .dbline 57
 006A 02E0              ldi R16,2
 006C 10E0              ldi R17,0
 006E 00D0              rcall _OSTimeDly
 0070                   .dbline 58
 0070                 L11:
 0070                   .dbline 50
 0070 F5CF              rjmp L10
 0072                 X1:
 0072                   .dbline -2
 0072                   .dbline 59
                       ;     while (1)
                       ;     {
                       ;         OSTaskResume(Task_main_Prio);   
                       ; //      OSTaskSuspend(OS_TASK_Me);
                       ;         LED2_ON();  
                       ;         OSTimeDly(2);
                       ;         LED2_OFF(); 
                       ;         OSTimeDly(2);
                       ;     }
                       ; }
 0072                 L9:
 0072                   .dbline 0 ; func end
 0072 0895              ret
 0074                   .dbfunc s TaskB _TaskB fI
                         .even
 0074                 _TaskB::
 0074                   .dbline -1
 0074                   .dbline 62
                       ; 
                       ; void TaskB(void)
                       ; {
 0074 08C0              rjmp L15
 0076                 L14:
 0076                   .dbline 64
 0076                   .dbline 65
 0076 C69A              sbi 0x18,6
 0078                   .dbline 66
 0078 03E0              ldi R16,3
 007A 10E0              ldi R17,0
 007C 00D0              rcall _OSTimeDly
 007E                   .dbline 67
 007E C698              cbi 0x18,6
 0080                   .dbline 68
 0080 03E0              ldi R16,3
 0082 10E0              ldi R17,0
 0084 00D0              rcall _OSTimeDly
 0086                   .dbline 69
 0086                 L15:
 0086                   .dbline 63
 0086 F7CF              rjmp L14
 0088                 X2:
 0088                   .dbline -2
 0088                   .dbline 70
                       ;     while (1)
                       ;     {
                       ;         LED3_ON();  
                       ;         OSTimeDly(3);
                       ;         LED3_OFF(); 
                       ;         OSTimeDly(3);
                       ;     }
                       ; }
 0088                 L13:
 0088                   .dbline 0 ; func end
 0088 0895              ret
 008A                   .dbfunc s TaskC _TaskC fI
                         .even
 008A                 _TaskC::
 008A                   .dbline -1
 008A                   .dbline 73
                       ; 
                       ; void TaskC(void)
                       ; {
 008A 08C0              rjmp L19
 008C                 L18:
 008C                   .dbline 75
 008C                   .dbline 76
 008C C79A              sbi 0x18,7
 008E                   .dbline 77
 008E 05E0              ldi R16,5
 0090 10E0              ldi R17,0
 0092 00D0              rcall _OSTimeDly
 0094                   .dbline 78
 0094 C798              cbi 0x18,7
 0096                   .dbline 79
 0096 05E0              ldi R16,5
 0098 10E0              ldi R17,0
 009A 00D0              rcall _OSTimeDly
 009C                   .dbline 80
 009C                 L19:
 009C                   .dbline 74
 009C F7CF              rjmp L18
 009E                 X3:
 009E                   .dbline -2
 009E                   .dbline 81
                       ;     while (1)
                       ;     {
                       ;         LED4_ON();  
                       ;         OSTimeDly(5);
                       ;         LED4_OFF(); 
                       ;         OSTimeDly(5);
                       ;     }
                       ; }
 009E                 L17:
 009E                   .dbline 0 ; func end
 009E 0895              ret
 00A0                   .dbfunc s AppTickHook _AppTickHook fI
                         .even
 00A0                 _AppTickHook::
 00A0                   .dbline -1
 00A0                   .dbline 85
                       ; 
                       ; //hook function for user App --- 时钟节拍回掉函数
                       ; void AppTickHook()
                       ; {
 00A0                   .dbline -2
 00A0                   .dbline 86
                       ; }
 00A0                 L21:
 00A0                   .dbline 0 ; func end
 00A0 0895              ret
                         .area bss(ram, con, rel)
 0000                   .dbfile C:\icc\minOS_iccavr\App.c
 0000                 _TaskCStk::
 0000                   .blkb 48
 0030                   .dbsym s TaskCStk _TaskCStk A[48:48]c
 0030                 _TaskBStk::
 0030                   .blkb 48
 0060                   .dbsym s TaskBStk _TaskBStk A[48:48]c
 0060                 _TaskAStk::
 0060                   .blkb 48
 0090                   .dbsym s TaskAStk _TaskAStk A[48:48]c
                         .area func_lit
 0000 4500            PL_TaskC: .word `_TaskC
 0002 3A00            PL_TaskB: .word `_TaskB
 0004 2D00            PL_TaskA: .word `_TaskA

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -