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

📄 os_cpu_c.lis

📁 ucos在avr mega128上的移植
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 007A F101              movw R30,R2
 007C 8083              std z+0,R24
 007E           ;     *psoft_stk-- = (INT8U)0x04;             /* R4    = 0x04                                             */
 007E 1A01              movw R2,R20
 0080 4150              subi R20,1
 0082 5040              sbci R21,0
 0084 84E0              ldi R24,4
 0086 F101              movw R30,R2
 0088 8083              std z+0,R24
 008A           ;     *psoft_stk-- = (INT8U)0x05;             /* R5    = 0x05                                             */
 008A 1A01              movw R2,R20
 008C 4150              subi R20,1
 008E 5040              sbci R21,0
 0090 85E0              ldi R24,5
 0092 F101              movw R30,R2
 0094 8083              std z+0,R24
 0096           ;     *psoft_stk-- = (INT8U)0x06;             /* R6    = 0x06                                             */
 0096 1A01              movw R2,R20
 0098 4150              subi R20,1
 009A 5040              sbci R21,0
 009C 86E0              ldi R24,6
 009E F101              movw R30,R2
 00A0 8083              std z+0,R24
 00A2           ;     *psoft_stk-- = (INT8U)0x07;             /* R7    = 0x07                                             */
 00A2 1A01              movw R2,R20
 00A4 4150              subi R20,1
 00A6 5040              sbci R21,0
 00A8 87E0              ldi R24,7
 00AA F101              movw R30,R2
 00AC 8083              std z+0,R24
 00AE           ;     *psoft_stk-- = (INT8U)0x08;             /* R8    = 0x08                                             */
 00AE 1A01              movw R2,R20
 00B0 4150              subi R20,1
 00B2 5040              sbci R21,0
 00B4 88E0              ldi R24,8
 00B6 F101              movw R30,R2
 00B8 8083              std z+0,R24
 00BA           ;     *psoft_stk-- = (INT8U)0x09;             /* R9    = 0x09                                             */
 00BA 1A01              movw R2,R20
 00BC 4150              subi R20,1
 00BE 5040              sbci R21,0
 00C0 89E0              ldi R24,9
 00C2 F101              movw R30,R2
 00C4 8083              std z+0,R24
 00C6           ;     *psoft_stk-- = (INT8U)0x10;             /* R10   = 0x10                                             */
 00C6 1A01              movw R2,R20
 00C8 4150              subi R20,1
 00CA 5040              sbci R21,0
 00CC 80E1              ldi R24,16
 00CE F101              movw R30,R2
 00D0 8083              std z+0,R24
 00D2           ;     *psoft_stk-- = (INT8U)0x11;             /* R11   = 0x11                                             */
 00D2 1A01              movw R2,R20
 00D4 4150              subi R20,1
 00D6 5040              sbci R21,0
 00D8 81E1              ldi R24,17
 00DA F101              movw R30,R2
 00DC 8083              std z+0,R24
 00DE           ;     *psoft_stk-- = (INT8U)0x12;             /* R12   = 0x12                                             */
 00DE 1A01              movw R2,R20
 00E0 4150              subi R20,1
 00E2 5040              sbci R21,0
 00E4 82E1              ldi R24,18
 00E6 F101              movw R30,R2
 00E8 8083              std z+0,R24
 00EA           ;     *psoft_stk-- = (INT8U)0x13;             /* R13   = 0x13                                             */
 00EA 1A01              movw R2,R20
 00EC 4150              subi R20,1
 00EE 5040              sbci R21,0
 00F0 83E1              ldi R24,19
 00F2 F101              movw R30,R2
 00F4 8083              std z+0,R24
 00F6           ;     *psoft_stk-- = (INT8U)0x14;             /* R14   = 0x14                                             */
 00F6 1A01              movw R2,R20
 00F8 4150              subi R20,1
 00FA 5040              sbci R21,0
 00FC 84E1              ldi R24,20
 00FE F101              movw R30,R2
 0100 8083              std z+0,R24
 0102           ;     *psoft_stk-- = (INT8U)0x15;             /* R15   = 0x15                                             */
 0102 1A01              movw R2,R20
 0104 4150              subi R20,1
 0106 5040              sbci R21,0
 0108 85E1              ldi R24,21
 010A F101              movw R30,R2
 010C 8083              std z+0,R24
 010E           ;     tmp          = (INT16U)p_arg;
 010E B901              movw R22,R18
 0110           ;     *psoft_stk-- = (INT8U)tmp;              /* 'p_arg' passed in R17:R16                                */
 0110 1A01              movw R2,R20
 0112 4150              subi R20,1
 0114 5040              sbci R21,0
 0116 F101              movw R30,R2
 0118 6083              std z+0,R22
 011A           ;     *psoft_stk-- = (INT8U)(tmp >> 8);
 011A 1A01              movw R2,R20
 011C 4150              subi R20,1
 011E 5040              sbci R21,0
 0120 2B01              movw R4,R22
 0122 452C              mov R4,R5
 0124 5524              clr R5
 0126 F101              movw R30,R2
 0128 4082              std z+0,R4
 012A           ;     *psoft_stk-- = (INT8U)0x18;             /* R18   = 0x18                                             */
 012A 1A01              movw R2,R20
 012C 4150              subi R20,1
 012E 5040              sbci R21,0
 0130 88E1              ldi R24,24
 0132 F101              movw R30,R2
 0134 8083              std z+0,R24
 0136           ;     *psoft_stk-- = (INT8U)0x19;             /* R19   = 0x19                                             */
 0136 1A01              movw R2,R20
 0138 4150              subi R20,1
 013A 5040              sbci R21,0
 013C 89E1              ldi R24,25
 013E F101              movw R30,R2
 0140 8083              std z+0,R24
 0142           ;     *psoft_stk-- = (INT8U)0x20;             /* R20   = 0x20                                             */
 0142 1A01              movw R2,R20
 0144 4150              subi R20,1
 0146 5040              sbci R21,0
 0148 80E2              ldi R24,32
 014A F101              movw R30,R2
 014C 8083              std z+0,R24
 014E           ;     *psoft_stk-- = (INT8U)0x21;             /* R21   = 0x21                                             */
 014E 1A01              movw R2,R20
 0150 4150              subi R20,1
 0152 5040              sbci R21,0
 0154 81E2              ldi R24,33
 0156 F101              movw R30,R2
 0158 8083              std z+0,R24
 015A           ;     *psoft_stk-- = (INT8U)0x22;             /* R22   = 0x22                                             */
 015A 1A01              movw R2,R20
 015C 4150              subi R20,1
 015E 5040              sbci R21,0
 0160 82E2              ldi R24,34
 0162 F101              movw R30,R2
 0164 8083              std z+0,R24
 0166           ;     *psoft_stk-- = (INT8U)0x23;             /* R23   = 0x23                                             */
 0166 1A01              movw R2,R20
 0168 4150              subi R20,1
 016A 5040              sbci R21,0
 016C 83E2              ldi R24,35
 016E F101              movw R30,R2
 0170 8083              std z+0,R24
 0172           ;     *psoft_stk-- = (INT8U)0x24;             /* R24   = 0x24                                             */
 0172 1A01              movw R2,R20
 0174 4150              subi R20,1
 0176 5040              sbci R21,0
 0178 84E2              ldi R24,36
 017A F101              movw R30,R2
 017C 8083              std z+0,R24
 017E           ;     *psoft_stk-- = (INT8U)0x25;             /* R25   = 0x25                                             */
 017E 1A01              movw R2,R20
 0180 4150              subi R20,1
 0182 5040              sbci R21,0
 0184 85E2              ldi R24,37
 0186 F101              movw R30,R2
 0188 8083              std z+0,R24
 018A           ;     *psoft_stk-- = (INT8U)0x26;             /* R26   = 0x26                                             */
 018A 1A01              movw R2,R20
 018C 4150              subi R20,1
 018E 5040              sbci R21,0
 0190 86E2              ldi R24,38
 0192 F101              movw R30,R2
 0194 8083              std z+0,R24
 0196           ;     *psoft_stk-- = (INT8U)0x27;             /* R27   = 0x27                                             */
 0196 1A01              movw R2,R20
 0198 4150              subi R20,1
 019A 5040              sbci R21,0
 019C 87E2              ldi R24,39
 019E F101              movw R30,R2
 01A0 8083              std z+0,R24
 01A2           ;                                             /* R28     R29:R28 is the software stack which gets ...     */
 01A2           ;                                             /* R29     ... stored in the task's OS_TCB.                 */
 01A2           ;     *psoft_stk-- = (INT8U)0x30;             /* R30   = 0x30                                             */
 01A2 1A01              movw R2,R20
 01A4 4150              subi R20,1
 01A6 5040              sbci R21,0
 01A8 80E3              ldi R24,48
 01AA F101              movw R30,R2
 01AC 8083              std z+0,R24
 01AE           ;     *psoft_stk-- = (INT8U)0x31;             /* R31   = 0x31                                             */
 01AE 1A01              movw R2,R20
 01B0 4150              subi R20,1
 01B2 5040              sbci R21,0
 01B4 81E3              ldi R24,49
 01B6 F101              movw R30,R2
 01B8 8083              std z+0,R24
 01BA           ;     *psoft_stk-- = (INT8U)0x00;             /* RAMPZ = 0x00                                             */
 01BA 1A01              movw R2,R20
 01BC 4150              subi R20,1
 01BE 5040              sbci R21,0
 01C0 4424              clr R4
 01C2 F101              movw R30,R2
 01C4 4082              std z+0,R4
 01C6           ;     *psoft_stk-- = (INT8U)0x80;             /* SREG  = Interrupts enabled                               */
 01C6 1A01              movw R2,R20
 01C8 4150              subi R20,1
 01CA 5040              sbci R21,0
 01CC 80E8              ldi R24,128
 01CE F101              movw R30,R2
 01D0 8083              std z+0,R24
 01D2           ;     tmp          = (INT16U)phard_stk;
 01D2 B501              movw R22,R10
 01D4           ;     *psoft_stk-- = (INT8U)(tmp >> 8);       /* SPH                                                      */
 01D4 1A01              movw R2,R20
 01D6 4150              subi R20,1
 01D8 5040              sbci R21,0
 01DA 2B01              movw R4,R22
 01DC 452C              mov R4,R5
 01DE 5524              clr R5
 01E0 F101              movw R30,R2
 01E2 4082              std z+0,R4
 01E4           ;     *psoft_stk   = (INT8U) tmp;             /* SPL                                                      */
 01E4 FA01              movw R30,R20
 01E6 6083              std z+0,R22
 01E8           ;     return ((void *)psoft_stk);
 01E8 8F01              movw R16,R30
 01EA           L7:
 01EA 0E940000          xcall pop_gset3
 01EE                   .dbline 0 ; func end
 01EE 0895              ret
                        .even
 01F0           _OSTaskSwHook::
 01F0           ; }
 01F0           ; 
 01F0           ; /*$PAGE*/
 01F0           ; /*
 01F0           ; *********************************************************************************************************
 01F0           ; *                                           TASK SWITCH HOOK
 01F0           ; *
 01F0           ; * Description: This function is called when a task switch is performed.  This allows you to perform other
 01F0           ; *              operations during a context switch.
 01F0           ; *
 01F0           ; * Arguments  : none
 01F0           ; *
 01F0           ; * Note(s)    : 1) Interrupts are disabled during this call.
 01F0           ; *              2) It is assumed that the global pointer 'OSTCBHighRdy' points to the TCB of the task that
 01F0           ; *                 will be 'switched in' (i.e. the highest priority task) and, 'OSTCBCur' points to the 
 01F0           ; *                 task being switched out (i.e. the preempted task).
 01F0           ; *********************************************************************************************************
 01F0           ; */
 01F0           ; #if (OS_CPU_HOOKS_EN > 0) && (OS_TASK_SW_HOOK_EN > 0)
 01F0           ; void  OSTaskSwHook (void)
 01F0           ; {
 01F0           L8:
 01F0                   .dbline 0 ; func end
 01F0 0895              ret
 01F2           ;           ptcb -> R16,R17
                        .even
 01F2           _OSTCBInitHook::
 01F2           ; #ifdef OS_VIEW_MODULE
 01F2           ;     OSView_TaskSwHook();
 01F2           ; #endif
 01F2           ; }
 01F2           ; #endif
 01F2           ; 
 01F2           ; /*
 01F2           ; *********************************************************************************************************
 01F2           ; *                                           OS_TCBInit() HOOK
 01F2           ; *
 01F2           ; * Description: This function is called by OS_TCBInit() after setting up most of the TCB.
 01F2           ; *
 01F2           ; * Arguments  : ptcb    is a pointer to the TCB of the task being created.
 01F2           ; *
 01F2           ; * Note(s)    : 1) Interrupts may or may not be ENABLED during this call.
 01F2           ; *********************************************************************************************************
 01F2           ; */
 01F2           ; #if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
 01F2           ; void  OSTCBInitHook (OS_TCB *ptcb)
 01F2           ; {
 01F2           ;     ptcb = ptcb;                                           /* Prevent Compiler warning                 */
 01F2           L9:
 01F2                   .dbline 0 ; func end
 01F2 0895              ret
                        .area bss(ram, con, rel)
 0000           _OSTaskHardStkSize::
 0000                   .blkb 2
 0002           _OSTaskStkSize::
 0002                   .blkb 2

⌨️ 快捷键说明

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