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

📄 os_cpu_c.lst

📁 基于51单片机来实现UCOS用一个串口来看到实现阶段
💻 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 + -