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

📄 os_cpu_c.lis

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