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

📄 os_cpu_c.lis

📁 把UCOSII移植到AVR MEGA8上的程序 应用程序为驱动1602显示器,虽说有些简单,但可测试UCOS的运行
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0138 5040              sbci R21,0
 013A 89E1              ldi R24,25
 013C F101              movw R30,R2
 013E 8083              std z+0,R24
 0140                   .dbline 205
 0140           ;     *psoft_stk-- = (INT8U)0x20;             /* R20   = 0x20                                             */
 0140 1A01              movw R2,R20
 0142 4150              subi R20,1
 0144 5040              sbci R21,0
 0146 80E2              ldi R24,32
 0148 F101              movw R30,R2
 014A 8083              std z+0,R24
 014C                   .dbline 206
 014C           ;     *psoft_stk-- = (INT8U)0x21;             /* R21   = 0x21                                             */
 014C 1A01              movw R2,R20
 014E 4150              subi R20,1
 0150 5040              sbci R21,0
 0152 81E2              ldi R24,33
 0154 F101              movw R30,R2
 0156 8083              std z+0,R24
 0158                   .dbline 207
 0158           ;     *psoft_stk-- = (INT8U)0x22;             /* R22   = 0x22                                             */
 0158 1A01              movw R2,R20
 015A 4150              subi R20,1
 015C 5040              sbci R21,0
 015E 82E2              ldi R24,34
 0160 F101              movw R30,R2
 0162 8083              std z+0,R24
 0164                   .dbline 208
 0164           ;     *psoft_stk-- = (INT8U)0x23;             /* R23   = 0x23                                             */
 0164 1A01              movw R2,R20
 0166 4150              subi R20,1
 0168 5040              sbci R21,0
 016A 83E2              ldi R24,35
 016C F101              movw R30,R2
 016E 8083              std z+0,R24
 0170                   .dbline 209
 0170           ;     *psoft_stk-- = (INT8U)0x24;             /* R24   = 0x24                                             */
 0170 1A01              movw R2,R20
 0172 4150              subi R20,1
 0174 5040              sbci R21,0
 0176 84E2              ldi R24,36
 0178 F101              movw R30,R2
 017A 8083              std z+0,R24
 017C                   .dbline 210
 017C           ;     *psoft_stk-- = (INT8U)0x25;             /* R25   = 0x25                                             */
 017C 1A01              movw R2,R20
 017E 4150              subi R20,1
 0180 5040              sbci R21,0
 0182 85E2              ldi R24,37
 0184 F101              movw R30,R2
 0186 8083              std z+0,R24
 0188                   .dbline 211
 0188           ;     *psoft_stk-- = (INT8U)0x26;             /* R26   = 0x26                                             */
 0188 1A01              movw R2,R20
 018A 4150              subi R20,1
 018C 5040              sbci R21,0
 018E 86E2              ldi R24,38
 0190 F101              movw R30,R2
 0192 8083              std z+0,R24
 0194                   .dbline 212
 0194           ;     *psoft_stk-- = (INT8U)0x27;             /* R27   = 0x27                                             */
 0194 1A01              movw R2,R20
 0196 4150              subi R20,1
 0198 5040              sbci R21,0
 019A 87E2              ldi R24,39
 019C F101              movw R30,R2
 019E 8083              std z+0,R24
 01A0                   .dbline 215
 01A0           ;                                             /* R28     R29:R28 is the software stack which gets ...     */
 01A0           ;                                             /* R29     ... stored in the task's OS_TCB.                 */
 01A0           ;     *psoft_stk-- = (INT8U)0x30;             /* R30   = 0x30                                             */
 01A0 1A01              movw R2,R20
 01A2 4150              subi R20,1
 01A4 5040              sbci R21,0
 01A6 80E3              ldi R24,48
 01A8 F101              movw R30,R2
 01AA 8083              std z+0,R24
 01AC                   .dbline 216
 01AC           ;     *psoft_stk-- = (INT8U)0x31;             /* R31   = 0x31                                             */
 01AC 1A01              movw R2,R20
 01AE 4150              subi R20,1
 01B0 5040              sbci R21,0
 01B2 81E3              ldi R24,49
 01B4 F101              movw R30,R2
 01B6 8083              std z+0,R24
 01B8                   .dbline 217
 01B8           ;     *psoft_stk-- = (INT8U)0x00;             /* RAMPZ = 0x00                                             */
 01B8 1A01              movw R2,R20
 01BA 4150              subi R20,1
 01BC 5040              sbci R21,0
 01BE 4424              clr R4
 01C0 F101              movw R30,R2
 01C2 4082              std z+0,R4
 01C4                   .dbline 218
 01C4           ;     *psoft_stk-- = (INT8U)0x80;             /* SREG  = Interrupts enabled                               */
 01C4 1A01              movw R2,R20
 01C6 4150              subi R20,1
 01C8 5040              sbci R21,0
 01CA 80E8              ldi R24,128
 01CC F101              movw R30,R2
 01CE 8083              std z+0,R24
 01D0                   .dbline 219
 01D0           ;     tmp          = (INT16U)phard_stk;
 01D0 B501              movw R22,R10
 01D2                   .dbline 220
 01D2           ;     *psoft_stk-- = (INT8U)(tmp >> 8);       /* SPH                                                      */
 01D2 1A01              movw R2,R20
 01D4 4150              subi R20,1
 01D6 5040              sbci R21,0
 01D8 2B01              movw R4,R22
 01DA 452C              mov R4,R5
 01DC 5524              clr R5
 01DE F101              movw R30,R2
 01E0 4082              std z+0,R4
 01E2                   .dbline 221
 01E2           ;     *psoft_stk   = (INT8U) tmp;             /* SPL                                                      */
 01E2 FA01              movw R30,R20
 01E4 6083              std z+0,R22
 01E6                   .dbline 222
 01E6           ;     return ((void *)psoft_stk);
 01E6 8F01              movw R16,R30
 01E8                   .dbline -2
 01E8           L9:
 01E8 00D0              rcall pop_gset3
 01EA                   .dbline 0 ; func end
 01EA 0895              ret
 01EC                   .dbsym r phard_stk 10 pc
 01EC                   .dbsym r tmp 22 i
 01EC                   .dbsym r psoft_stk 20 pc
 01EC                   .dbsym l opt 8 i
 01EC                   .dbsym l ptos 6 pc
 01EC                   .dbsym r p_arg 18 pV
 01EC                   .dbsym r task 16 pfV
 01EC                   .dbend
 01EC                   .dbfunc e OSTaskSwHook _OSTaskSwHook fV
                        .even
 01EC           _OSTaskSwHook::
 01EC                   .dbline -1
 01EC                   .dbline 243
 01EC           ; }
 01EC           ; 
 01EC           ; /*$PAGE*/
 01EC           ; /*
 01EC           ; *********************************************************************************************************
 01EC           ; *                                           TASK SWITCH HOOK
 01EC           ; *
 01EC           ; * Description: This function is called when a task switch is performed.  This allows you to perform other
 01EC           ; *              operations during a context switch.
 01EC           ; *
 01EC           ; * Arguments  : none
 01EC           ; *
 01EC           ; * Note(s)    : 1) Interrupts are disabled during this call.
 01EC           ; *              2) It is assumed that the global pointer 'OSTCBHighRdy' points to the TCB of the task that
 01EC           ; *                 will be 'switched in' (i.e. the highest priority task) and, 'OSTCBCur' points to the 
 01EC           ; *                 task being switched out (i.e. the preempted task).
 01EC           ; *********************************************************************************************************
 01EC           ; */
 01EC           ; #if (OS_CPU_HOOKS_EN > 0) && (OS_TASK_SW_HOOK_EN > 0)
 01EC           ; void  OSTaskSwHook (void)
 01EC           ; {
 01EC                   .dbline -2
 01EC           L10:
 01EC                   .dbline 0 ; func end
 01EC 0895              ret
 01EE                   .dbend
 01EE                   .dbfunc e OSTCBInitHook _OSTCBInitHook fV
 01EE           ;           ptcb -> R16,R17
                        .even
 01EE           _OSTCBInitHook::
 01EE                   .dbline -1
 01EE                   .dbline 263
 01EE           ; #ifdef OS_VIEW_MODULE
 01EE           ;     OSView_TaskSwHook();
 01EE           ; #endif
 01EE           ; }
 01EE           ; #endif
 01EE           ; 
 01EE           ; /*
 01EE           ; *********************************************************************************************************
 01EE           ; *                                           OS_TCBInit() HOOK
 01EE           ; *
 01EE           ; * Description: This function is called by OS_TCBInit() after setting up most of the TCB.
 01EE           ; *
 01EE           ; * Arguments  : ptcb    is a pointer to the TCB of the task being created.
 01EE           ; *
 01EE           ; * Note(s)    : 1) Interrupts may or may not be ENABLED during this call.
 01EE           ; *********************************************************************************************************
 01EE           ; */
 01EE           ; #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
 01EE           ; void  OSTCBInitHook (OS_TCB *ptcb)
 01EE           ; {
 01EE                   .dbline 264
 01EE           ;     ptcb = ptcb;                                           /* Prevent Compiler warning                 */
 01EE                   .dbline -2
 01EE           L11:
 01EE                   .dbline 0 ; func end
 01EE 0895              ret
 01F0                   .dbsym r ptcb 16 pS[os_tcb]
 01F0                   .dbend
 01F0                   .dbfunc e OSTimeTickHook _OSTimeTickHook fV
                        .even
 01F0           _OSTimeTickHook::
 01F0                   .dbline -1
 01F0                   .dbline 282
 01F0           ; }
 01F0           ; #endif
 01F0           ; 
 01F0           ; 
 01F0           ; /*
 01F0           ; *********************************************************************************************************
 01F0           ; *                                               TICK HOOK
 01F0           ; *
 01F0           ; * Description: This function is called every tick.
 01F0           ; *
 01F0           ; * Arguments  : none
 01F0           ; *
 01F0           ; * Note(s)    : 1) Interrupts may or may not be ENABLED during this call.
 01F0           ; *********************************************************************************************************
 01F0           ; */
 01F0           ; #if (OS_CPU_HOOKS_EN > 0) && (OS_TIME_TICK_HOOK_EN > 0)
 01F0           ; void  OSTimeTickHook (void)
 01F0           ; {
 01F0                   .dbline -2
 01F0           L12:
 01F0                   .dbline 0 ; func end
 01F0 0895              ret
 01F2                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8\os_cpu_c.c
 0000           _OSTaskHardStkSize::
 0000                   .blkb 2
 0002                   .dbfile F:\AVRPRA~1\ucosii-port2-mega8/os_cpu.h
 0002                   .dbsym e OSTaskHardStkSize _OSTaskHardStkSize i
 0002           _OSTaskStkSize::
 0002                   .blkb 2
 0004                   .dbsym e OSTaskStkSize _OSTaskStkSize i

⌨️ 快捷键说明

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