📄 os_cpu_c.lst
字号:
C51 COMPILER V7.02b OS_CPU_C 07/08/2007 20:25:03 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE OS_CPU_C
OBJECT MODULE PLACED IN OS_CPU_C.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE OS_CPU_C.C LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "includes.h"
2 void OSTaskStkInit(void (*task)(void *pd)reentrant,
3 OS_STKCB *stkcb,
4 INT16U opt
5 )reentrant
6 {
7 1 OS_STK *stk;
8 1 opt = opt;
9 1 stk =stkcb->OSTKBtomPtr; //用户栈最低有效地址
10 1
11 1 *stk++ = 0x0f; //15
12 1 *stk++ = (INT16U)task&0XFF; //任务地址低8位
13 1 *stk++ = (INT16U)task>>8; //任务地址高8位
14 1 *stk++ = 0x00; //PSW
15 1 *stk++ = 0x0A; //ACC
16 1 *stk++ = 0x0B; //B
17 1 *stk++ = 0x00; //DPL
18 1 *stk++ = 0x00; //DPH
19 1 *stk++ = 0x00; //R0
20 1 *stk++ = 0x01; //R1
21 1 *stk++ = 0x02; //R2
22 1 *stk++ = 0x03; //R3
23 1 *stk++ = 0x04; //R4
24 1 *stk++ = 0x05; //R5
25 1 *stk++ = 0x06; //R6
26 1 *stk++ = 0x07; //R7
27 1 }
28 //=======================================================================
29 void TimeTickConfig(void)
30 {
31 1 TMOD &= 0xf0;
32 1 TMOD |= 0x01;
33 1 TH0 = 0x3c;
34 1 TH0 = 0xb0;
35 1 ET0=1;
36 1 TR0 = 1;
37 1 }
38 //=======================================================================
39 #if USE_Pre_ExternInt0
void ExternInt0(void)
{
}
#endif
45
46 #if USE_Pre_ExternInt1
void ExternInt1(void)
{
}
#endif
52
53 #if USE_Pre_TimeInt1
void Time1Int(void)
{
C51 COMPILER V7.02b OS_CPU_C 07/08/2007 20:25:03 PAGE 2
}
#endif
59
60 #if USE_Pre_SeryInt
61 void SeryInt(void)
62 {
63 1 INT8U c;
64 1 if(TI){
65 2 TI=0;
66 2 if(*O_buf){
67 3 SBUF=*O_buf;
68 3 O_buf++;
69 3 }else{
70 3 O_dex=0;
71 3 }
72 2 }
73 1
74 1 if(RI){
75 2 RI=0;
76 2 c=SBUF;
77 2 switch(c){
78 3 ESC: case 0x0d : if(I_dex==0)I_buf[0]=0x0d; //回车
79 3 OSSemPost(Sem1);
80 3 break;
81 3
82 3 case 0x08 : //退格
83 3 if(I_dex!=0){
84 4 I_dex--;
85 4 SBUF=c;
86 4 }
87 3 break;
88 3
89 3 case 0x1b : if(OSTCBCur->OSTCBPrio==2||OSTCBCur->OSTCBPrio==3){
90 4 OSTaskSuspend(OSTCBCur->OSTCBPrio);
91 4 I_dex=0;
92 4 goto ESC ;
93 4 }
94 3 break;
95 3 default: //其它 装入缓冲区
96 3 I_buf[I_dex++]=c;
97 3 SBUF=c;
98 3 break;
99 3 }
100 2 }
101 1 }
102 #endif
103 //=======================================================================
104 void OSTaskSwHook (void)reentrant
105 {
106 1 OSTCBCur = OSTCBHighRdy;
107 1 OSPrioCur = OSPrioHighRdy;
108 1 }
109 //-----------------------------------------------------------------------
110 void OSTimeTickHook (void)reentrant
111 {
112 1
113 1 }
114 //-----------------------------------------------------------------------
115 void OSTaskCreateHook (OS_TCB *ptcb)reentrant
116 {
117 1 ptcb = ptcb;
C51 COMPILER V7.02b OS_CPU_C 07/08/2007 20:25:03 PAGE 3
118 1 }
119 //-----------------------------------------------------------------------
120 #if OS_TASK_STAT_EN
121 void OSTaskStatHook(void)reentrant
122 {
123 1
124 1 }
125 #endif
126
127 #if OS_TASK_DEL_EN
128 void OSTaskDelHook (OS_TCB *ptcb)reentrant
129 {
130 1 ptcb = ptcb;
131 1 }
132 #endif
133 //=======================================================================
134 #if OS_CPU_HOOKS_EN
//--------------------------------------------
void OSInitHookBegin (void)reentrant
{
}
//--------------------------------------------
void OSInitHookEnd (void)reentrant
{
}
//--------------------------------------------
void OSTCBInitHook (OS_TCB *ptcb)reentrant
{
ptcb = ptcb;
}
//--------------------------------------------
void OSTickISRHook(void)reentrant
{
}
//--------------------------------------------
void OSRunningTrue(void)reentrant
{
OSRunning=TRUE;
}
#endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 768 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 1
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -