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

📄 os_cpu_c.lis

📁 ucos如何移植到单片机mega128
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00F8                   .dbline 99
 00F8           ;     *stk-- = (INT8U)(tmp >> 8);
 00F8 1A01              movw R2,R20
 00FA 4150              subi R20,1
 00FC 5040              sbci R21,0
 00FE 2B01              movw R4,R22
 0100 452C              mov R4,R5
 0102 5524              clr R5
 0104 F101              movw R30,R2
 0106 4082              std z+0,R4
 0108                   .dbline 100
 0108           ;     *stk-- = (INT8U)0x18;
 0108 1A01              movw R2,R20
 010A 4150              subi R20,1
 010C 5040              sbci R21,0
 010E 88E1              ldi R24,24
 0110 F101              movw R30,R2
 0112 8083              std z+0,R24
 0114                   .dbline 101
 0114           ;     *stk-- = (INT8U)0x19;
 0114 1A01              movw R2,R20
 0116 4150              subi R20,1
 0118 5040              sbci R21,0
 011A 89E1              ldi R24,25
 011C F101              movw R30,R2
 011E 8083              std z+0,R24
 0120                   .dbline 102
 0120           ;     *stk-- = (INT8U)0x20;
 0120 1A01              movw R2,R20
 0122 4150              subi R20,1
 0124 5040              sbci R21,0
 0126 80E2              ldi R24,32
 0128 F101              movw R30,R2
 012A 8083              std z+0,R24
 012C                   .dbline 103
 012C           ;     *stk-- = (INT8U)0x21;
 012C 1A01              movw R2,R20
 012E 4150              subi R20,1
 0130 5040              sbci R21,0
 0132 81E2              ldi R24,33
 0134 F101              movw R30,R2
 0136 8083              std z+0,R24
 0138                   .dbline 104
 0138           ;     *stk-- = (INT8U)0x22;
 0138 1A01              movw R2,R20
 013A 4150              subi R20,1
 013C 5040              sbci R21,0
 013E 82E2              ldi R24,34
 0140 F101              movw R30,R2
 0142 8083              std z+0,R24
 0144                   .dbline 105
 0144           ;     *stk-- = (INT8U)0x23;
 0144 1A01              movw R2,R20
 0146 4150              subi R20,1
 0148 5040              sbci R21,0
 014A 83E2              ldi R24,35
 014C F101              movw R30,R2
 014E 8083              std z+0,R24
 0150                   .dbline 106
 0150           ;     *stk-- = (INT8U)0x24;
 0150 1A01              movw R2,R20
 0152 4150              subi R20,1
 0154 5040              sbci R21,0
 0156 84E2              ldi R24,36
 0158 F101              movw R30,R2
 015A 8083              std z+0,R24
 015C                   .dbline 107
 015C           ;     *stk-- = (INT8U)0x25;
 015C 1A01              movw R2,R20
 015E 4150              subi R20,1
 0160 5040              sbci R21,0
 0162 85E2              ldi R24,37
 0164 F101              movw R30,R2
 0166 8083              std z+0,R24
 0168                   .dbline 108
 0168           ;     *stk-- = (INT8U)0x26;
 0168 1A01              movw R2,R20
 016A 4150              subi R20,1
 016C 5040              sbci R21,0
 016E 86E2              ldi R24,38
 0170 F101              movw R30,R2
 0172 8083              std z+0,R24
 0174                   .dbline 109
 0174           ;     *stk-- = (INT8U)0x27;
 0174 1A01              movw R2,R20
 0176 4150              subi R20,1
 0178 5040              sbci R21,0
 017A 87E2              ldi R24,39
 017C F101              movw R30,R2
 017E 8083              std z+0,R24
 0180                   .dbline 111
 0180           ;       // the heap pointer Y=R29:R28 will not be stored
 0180           ;     *stk-- = (INT8U)0x30;
 0180 1A01              movw R2,R20
 0182 4150              subi R20,1
 0184 5040              sbci R21,0
 0186 80E3              ldi R24,48
 0188 F101              movw R30,R2
 018A 8083              std z+0,R24
 018C                   .dbline 112
 018C           ;     *stk-- = (INT8U)0x31;
 018C 1A01              movw R2,R20
 018E 4150              subi R20,1
 0190 5040              sbci R21,0
 0192 81E3              ldi R24,49
 0194 F101              movw R30,R2
 0196 8083              std z+0,R24
 0198                   .dbline 113
 0198           ;     *stk-- = (INT8U)0x3B;
 0198 1A01              movw R2,R20
 019A 4150              subi R20,1
 019C 5040              sbci R21,0
 019E 8BE3              ldi R24,59
 01A0 F101              movw R30,R2
 01A2 8083              std z+0,R24
 01A4                   .dbline 114
 01A4           ;     *stk-- = (INT8U)0x80;     //SREG = Interrupts enabled
 01A4 1A01              movw R2,R20
 01A6 4150              subi R20,1
 01A8 5040              sbci R21,0
 01AA 80E8              ldi R24,128
 01AC F101              movw R30,R2
 01AE 8083              std z+0,R24
 01B0                   .dbline 116
 01B0           ; 
 01B0           ;     tmp    = (INT16U)(stks);
 01B0 B501              movw R22,R10
 01B2                   .dbline 117
 01B2           ;     *stk-- = (INT8U)(tmp >> 8);
 01B2 1A01              movw R2,R20
 01B4 4150              subi R20,1
 01B6 5040              sbci R21,0
 01B8 2B01              movw R4,R22
 01BA 452C              mov R4,R5
 01BC 5524              clr R5
 01BE F101              movw R30,R2
 01C0 4082              std z+0,R4
 01C2                   .dbline 118
 01C2           ;     *stk   = (INT8U)(tmp);
 01C2 FA01              movw R30,R20
 01C4 6083              std z+0,R22
 01C6                   .dbline 119
 01C6           ;     return ((void *)stk);
 01C6 8F01              movw R16,R30
 01C8                   .dbline -2
 01C8           L3:
 01C8 0E940000          xcall pop_gset3
 01CC                   .dbline 0 ; func end
 01CC 0895              ret
 01CE                   .dbsym r stks 10 pc
 01CE                   .dbsym r tmp 22 i
 01CE                   .dbsym r stk 20 pc
 01CE                   .dbsym l opt 8 i
 01CE                   .dbsym l ptos 6 pc
 01CE                   .dbsym r pdata 18 pV
 01CE                   .dbsym r task 16 pfV
 01CE                   .dbend
 01CE                   .dbfunc e OSTaskCreateHook _OSTaskCreateHook fV
 01CE                   .dbstruct 0 10 .2
 01CE                   .dbfield 0 OSFlagNodeNext pV
 01CE                   .dbfield 2 OSFlagNodePrev pV
 01CE                   .dbfield 4 OSFlagNodeTCB pV
 01CE                   .dbfield 6 OSFlagNodeFlagGrp pV
 01CE                   .dbfield 8 OSFlagNodeFlags c
 01CE                   .dbfield 9 OSFlagNodeWaitType c
 01CE                   .dbend
 01CE                   .dbstruct 0 18 os_tcb
 01CE                   .dbfield 0 OSTCBStkPtr pc
 01CE                   .dbfield 2 OSTCBNext pS[os_tcb]
 01CE                   .dbfield 4 OSTCBPrev pS[os_tcb]
 01CE                   .dbfield 6 OSTCBFlagNode pS[.2]
 01CE                   .dbfield 8 OSTCBFlagsRdy c
 01CE                   .dbfield 9 OSTCBDly i
 01CE                   .dbfield 11 OSTCBStat c
 01CE                   .dbfield 12 OSTCBPrio c
 01CE                   .dbfield 13 OSTCBX c
 01CE                   .dbfield 14 OSTCBY c
 01CE                   .dbfield 15 OSTCBBitX c
 01CE                   .dbfield 16 OSTCBBitY c
 01CE                   .dbfield 17 OSTCBDelReq c
 01CE                   .dbend
 01CE           ;           ptcb -> R16,R17
                        .even
 01CE           _OSTaskCreateHook::
 01CE                   .dbline -1
 01CE                   .dbline 136
 01CE           ; }
 01CE           ; 
 01CE           ; #if OS_CPU_HOOKS_EN
 01CE           ; /*
 01CE           ; ********************************************************************************
 01CE           ; *                       TASK CREATION HOOK
 01CE           ; *
 01CE           ; * Description: This function is called when a task is created.
 01CE           ; *
 01CE           ; * Arguments:
 01CE           ; *             ptcb is a pointer to the task control block of the task being created.
 01CE           ; *
 01CE           ; * Note(s):    1) Interrupts are disabled during this call.
 01CE           ; ********************************************************************************
 01CE           ; */
 01CE           ; void OSTaskCreateHook (OS_TCB *ptcb)
 01CE           ; {
 01CE                   .dbline 137
 01CE           ;     ptcb = ptcb;              // Prevent compiler warning
 01CE                   .dbline -2
 01CE           L4:
 01CE                   .dbline 0 ; func end
 01CE 0895              ret
 01D0                   .dbsym r ptcb 16 pS[os_tcb]
 01D0                   .dbend
 01D0                   .dbfunc e OSTaskDelHook _OSTaskDelHook fV
 01D0           ;           ptcb -> R16,R17
                        .even
 01D0           _OSTaskDelHook::
 01D0                   .dbline -1
 01D0                   .dbline 154
 01D0           ; }
 01D0           ; 
 01D0           ; 
 01D0           ; /*
 01D0           ; ********************************************************************************
 01D0           ; *                      TASK DELETION HOOK
 01D0           ; *
 01D0           ; * Description: This function is called when a task is deleted.
 01D0           ; *
 01D0           ; * Arguments: 
 01D0           ; *             ptcb is a pointer to the task control block of the task being deleted.
 01D0           ; *
 01D0           ; * Note(s):    1) Interrupts are disabled during this call.
 01D0           ; ********************************************************************************
 01D0           ; */
 01D0           ; void OSTaskDelHook (OS_TCB *ptcb)
 01D0           ; {
 01D0                   .dbline 155
 01D0           ;     ptcb = ptcb;              // Prevent compiler warning
 01D0                   .dbline -2
 01D0           L5:
 01D0                   .dbline 0 ; func end
 01D0 0895              ret
 01D2                   .dbsym r ptcb 16 pS[os_tcb]
 01D2                   .dbend
 01D2                   .dbfunc e OSTaskSwHook _OSTaskSwHook fV
                        .even
 01D2           _OSTaskSwHook::
 01D2                   .dbline -1
 01D2                   .dbline 177
 01D2           ; }
 01D2           ; 
 01D2           ; /*
 01D2           ; ********************************************************************************
 01D2           ; *                       TASK SWITCH HOOK
 01D2           ; *
 01D2           ; * Description:
 01D2           ; *     This function is called when a task switch is performed.  This allows you to
 01D2           ; *     perform other operations during a context switch.
 01D2           ; *
 01D2           ; * Arguments:  none
 01D2           ; *
 01D2           ; * Note(s):

⌨️ 快捷键说明

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