亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? os_core.lst

?? 運行環境是keil。這是一個實現嵌入式TCP/IP的程序
?? LST
?? 第 1 頁 / 共 4 頁
字號:
C51 COMPILER V6.12  OS_CORE                                                                04/12/2004 19:13:37 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE OS_CORE
OBJECT MODULE PLACED IN .\DEBUG\OS_CORE.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\CORE\SOURCE\OS_CORE.C LARGE OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND P
                    -RINT(.\DEBUG\OS_CORE.lst) OBJECT(.\DEBUG\OS_CORE.obj) 

stmt level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                                uC/OS-II
   4          *                                          The Real-Time Kernel
   5          *                                             CORE FUNCTIONS
   6          *
   7          *                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
   8          *                                           All Rights Reserved
   9          *
  10          *                                                  V2.00
  11          *
  12          * File : OS_CORE.C
  13          * By   : Jean J. Labrosse
  14          *********************************************************************************************************
  15          */
  16          
  17          #ifndef  OS_MASTER_FILE
  18          #define  OS_GLOBALS
  19          #include    <CORE\includes.h> 
  20          #endif
  21          
  22          /*
  23          *********************************************************************************************************
  24          *                                         LOCAL GLOBAL VARIABLES
  25          *********************************************************************************************************
  26          */
  27          
  28          static  INT8U        OSIntExitY;               /* Variable used by 'OSIntExit' to prevent using locals */
  29          
  30          static  OS_STK       OSTaskIdleStk[OS_TASK_IDLE_STK_SIZE];       /* Idle       task stack              */
  31          
  32          #if     OS_TASK_STAT_EN
              static  OS_STK       OSTaskStatStk[OS_TASK_STAT_STK_SIZE];      /* Statistics task stack               */
              #endif
  35          
  36          static  OS_TCB       OSTCBTbl[OS_MAX_TASKS + OS_N_SYS_TASKS];   /* Table of TCBs                       */
  37          
  38          /*$PAGE*/
  39          /*
  40          *********************************************************************************************************
  41          *                              MAPPING TABLE TO MAP BIT POSITION TO BIT MASK
  42          *
  43          * Note: Index into table is desired bit position, 0..7
  44          *       Indexed value corresponds to bit mask
  45          *********************************************************************************************************
  46          */
  47          
  48          INT8U const OSMapTbl[]   = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
  49          
  50          /*
  51          *********************************************************************************************************
  52          *                                       PRIORITY RESOLUTION TABLE
  53          *
  54          * Note: Index into table is bit pattern to resolve highest priority
C51 COMPILER V6.12  OS_CORE                                                                04/12/2004 19:13:37 PAGE 2   

  55          *       Indexed value corresponds to highest priority bit position (i.e. 0..7)
  56          *********************************************************************************************************
  57          */
  58          
  59          INT8U const OSUnMapTbl[] = {
  60              0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  61              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  62              5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  63              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  64              6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  65              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  66              5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  67              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  68              7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  69              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  70              5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  71              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  72              6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  73              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  74              5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
  75              4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0
  76          };
  77          
  78          /*$PAGE*/
  79          /*
  80          *********************************************************************************************************
  81          *                             MAKE TASK READY TO RUN BASED ON EVENT OCCURING
  82          *
  83          * Description: This function is called by other uC/OS-II services and is used to ready a task that was
  84          *              waiting for an event to occur.
  85          *
  86          * Arguments  : pevent    is a pointer to the event control block corresponding to the event.
  87          *
  88          *              msg       is a pointer to a message.  This pointer is used by message oriented services
  89          *                        such as MAILBOXEs and QUEUEs.  The pointer is not used when called by other
  90          *                        service functions.
  91          *
  92          *              msk       is a mask that is used to clear the status byte of the TCB.  For example,
  93          *                        OSSemPost() will pass OS_STAT_SEM, OSMboxPost() will pass OS_STAT_MBOX etc.
  94          *
  95          * Returns    : none
  96          *
  97          * Note       : This function is INTERNAL to uC/OS-II and your application should not call it.
  98          *********************************************************************************************************
  99          */
 100          #if  (OS_Q_EN && (OS_MAX_QS >= 2)) || OS_MBOX_EN || OS_SEM_EN
 101          void  OSEventTaskRdy (OS_EVENT *pevent, void *msg, INT8U msk) reentrant
 102          {
 103   1          OS_TCB *ptcb;
 104   1          INT8U   x;
 105   1          INT8U   y;
 106   1          INT8U   bitx;
 107   1          INT8U   bity;
 108   1          INT8U   prio;
 109   1      
 110   1      
 111   1          y    = OSUnMapTbl[pevent->OSEventGrp];            /* Find highest prio. task waiting for message   */
 112   1          bity = OSMapTbl[y];
 113   1          x    = OSUnMapTbl[pevent->OSEventTbl[y]];
 114   1          bitx = OSMapTbl[x];
 115   1          prio = (INT8U)((y << 3) + x);                     /* Find priority of task getting the msg         */
 116   1          if ((pevent->OSEventTbl[y] &= ~bitx) == 0) {      /* Remove this task from the waiting list        */
C51 COMPILER V6.12  OS_CORE                                                                04/12/2004 19:13:37 PAGE 3   

 117   2              pevent->OSEventGrp &= ~bity;
 118   2          }
 119   1          ptcb                 =  OSTCBPrioTbl[prio];       /* Point to this task's OS_TCB                   */
 120   1          ptcb->OSTCBDly       =  0;                        /* Prevent OSTimeTick() from readying task       */
 121   1          ptcb->OSTCBEventPtr  = (OS_EVENT *)0;             /* Unlink ECB from this task                     */
 122   1      #if (OS_Q_EN && (OS_MAX_QS >= 2)) || OS_MBOX_EN
 123   1          ptcb->OSTCBMsg       = msg;                       /* Send message directly to waiting task         */
 124   1      #else
                  msg                  = msg;                       /* Prevent compiler warning if not used          */
              #endif
 127   1          ptcb->OSTCBStat     &= ~msk;                      /* Clear bit associated with event type          */
 128   1          if (ptcb->OSTCBStat == OS_STAT_RDY) {             /* See if task is ready (could be susp'd)        */
 129   2              OSRdyGrp        |=  bity;                     /* Put task in the ready to run list             */
 130   2              OSRdyTbl[y]     |=  bitx;
 131   2          }
 132   1      }
 133          #endif
 134          /*$PAGE*/
 135          /*
 136          *********************************************************************************************************
 137          *                                   MAKE TASK WAIT FOR EVENT TO OCCUR
 138          *
 139          * Description: This function is called by other uC/OS-II services to suspend a task because an event has
 140          *              not occurred.
 141          *
 142          * Arguments  : pevent   is a pointer to the event control block for which the task will be waiting for.
 143          *
 144          * Returns    : none
 145          *
 146          * Note       : This function is INTERNAL to uC/OS-II and your application should not call it.
 147          *********************************************************************************************************
 148          */
 149          #if  (OS_Q_EN && (OS_MAX_QS >= 2)) || OS_MBOX_EN || OS_SEM_EN
 150          void  OSEventTaskWait (OS_EVENT *pevent) reentrant
 151          {
 152   1          OSTCBCur->OSTCBEventPtr = pevent;            /* Store pointer to event control block in TCB        */
 153   1          if ((OSRdyTbl[OSTCBCur->OSTCBY] &= ~OSTCBCur->OSTCBBitX) == 0) {      /* Task no longer ready      */
 154   2              OSRdyGrp &= ~OSTCBCur->OSTCBBitY;
 155   2          }
 156   1          pevent->OSEventTbl[OSTCBCur->OSTCBY] |= OSTCBCur->OSTCBBitX;          /* Put task in waiting list  */
 157   1          pevent->OSEventGrp                   |= OSTCBCur->OSTCBBitY;
 158   1      }
 159          #endif
 160          /*$PAGE*/
 161          /*
 162          *********************************************************************************************************
 163          *                              MAKE TASK READY TO RUN BASED ON EVENT TIMEOUT
 164          *
 165          * Description: This function is called by other uC/OS-II services to make a task ready to run because a
 166          *              timeout occurred.
 167          *
 168          * Arguments  : pevent   is a pointer to the event control block which is readying a task.
 169          *
 170          * Returns    : none
 171          *
 172          * Note       : This function is INTERNAL to uC/OS-II and your application should not call it.
 173          *********************************************************************************************************
 174          */
 175          #if  (OS_Q_EN && (OS_MAX_QS >= 2)) || OS_MBOX_EN || OS_SEM_EN
 176          void  OSEventTO (OS_EVENT *pevent) reentrant
 177          {
 178   1          if ((pevent->OSEventTbl[OSTCBCur->OSTCBY] &= ~OSTCBCur->OSTCBBitX) == 0) {
C51 COMPILER V6.12  OS_CORE                                                                04/12/2004 19:13:37 PAGE 4   

 179   2              pevent->OSEventGrp &= ~OSTCBCur->OSTCBBitY;
 180   2          }
 181   1          OSTCBCur->OSTCBStat     = OS_STAT_RDY;       /* Set status to ready                                */
 182   1          OSTCBCur->OSTCBEventPtr = (OS_EVENT *)0;     /* No longer waiting for event                        */
 183   1      }
 184          #endif
 185          /*$PAGE*/
 186          /*
 187          *********************************************************************************************************
 188          *                                 INITIALIZE EVENT CONTROL BLOCK'S WAIT LIST
 189          *
 190          * Description: This function is called by other uC/OS-II services to initialize the event wait list.
 191          *
 192          * Arguments  : pevent    is a pointer to the event control block allocated to the event.
 193          *
 194          * Returns    : none
 195          *
 196          * Note       : This function is INTERNAL to uC/OS-II and your application should not call it.
 197          *********************************************************************************************************
 198          */
 199          #if  (OS_Q_EN && (OS_MAX_QS >= 2)) || OS_MBOX_EN || OS_SEM_EN
 200          void  OSEventWaitListInit (OS_EVENT *pevent) reentrant
 201          {
 202   1          INT8U i;
 203   1      
 204   1      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区偷拍精品| 蜜臀91精品一区二区三区| 综合自拍亚洲综合图不卡区| 婷婷国产v国产偷v亚洲高清| 一区二区三区蜜桃网| 国产激情91久久精品导航| 有坂深雪av一区二区精品| 久久er精品视频| 色婷婷久久久综合中文字幕| 久久综合色之久久综合| 午夜精品在线视频一区| 91丨porny丨在线| 久久午夜免费电影| 日韩黄色片在线观看| 91久久线看在观草草青青| 欧美高清在线精品一区| 黑人巨大精品欧美一区| 日韩一区二区在线观看视频| 亚洲在线一区二区三区| 色域天天综合网| 国产精品网站在线| 激情欧美一区二区三区在线观看| 欧美福利视频一区| 亚洲va韩国va欧美va| 欧美主播一区二区三区| 亚洲一区二区欧美日韩| 欧美性视频一区二区三区| 亚洲欧美区自拍先锋| av电影在线观看完整版一区二区| 国产人成亚洲第一网站在线播放 | 久久久精品国产免大香伊| 亚洲不卡av一区二区三区| 欧洲中文字幕精品| 亚洲一区二区三区在线播放| 91久久精品日日躁夜夜躁欧美| 五月综合激情婷婷六月色窝| 日本高清成人免费播放| 亚洲激情六月丁香| 欧美亚洲动漫精品| 日韩精品一二三四| 精品国产乱码久久久久久闺蜜| 亚洲第一福利一区| 欧美亚洲国产怡红院影院| 亚洲最新视频在线播放| 欧美日精品一区视频| 日韩av电影免费观看高清完整版 | 成人激情开心网| |精品福利一区二区三区| av在线播放一区二区三区| ...xxx性欧美| 色欧美片视频在线观看| 国产精品国产三级国产普通话三级| 丁香一区二区三区| 日韩码欧中文字| 欧美日韩精品欧美日韩精品| 麻豆久久一区二区| 国产亚洲综合性久久久影院| 成人黄色av电影| 一区二区三区精密机械公司| 色天天综合色天天久久| 日韩高清不卡在线| 韩日av一区二区| 日韩美女精品在线| 日韩亚洲国产中文字幕欧美| 成人综合在线网站| 亚洲一区电影777| 精品三级在线观看| 97精品久久久午夜一区二区三区| 亚洲三级免费观看| 日韩欧美高清一区| 一本到高清视频免费精品| 美腿丝袜亚洲一区| 亚洲美女免费在线| 久久精品这里都是精品| 欧美亚洲禁片免费| 成人天堂资源www在线| 丝袜诱惑制服诱惑色一区在线观看| 69堂国产成人免费视频| 99视频精品全部免费在线| 久久精品人人做人人爽人人 | 亚洲精品在线三区| 91日韩在线专区| 高清国产一区二区| 首页国产欧美久久| 国产校园另类小说区| 91精品蜜臀在线一区尤物| 欧美白人最猛性xxxxx69交| 91色.com| 国产91丝袜在线观看| 亚洲天堂中文字幕| 久久久精品2019中文字幕之3| 欧美日韩亚洲综合在线 | 精品国产三级电影在线观看| 在线视频你懂得一区| 不卡av在线网| 成人午夜私人影院| 免费看日韩精品| 国产精品免费久久久久| 欧美www视频| 欧美日韩精品免费观看视频| 色诱视频网站一区| 91亚洲精品一区二区乱码| 成人h动漫精品| 高清国产一区二区三区| 国产不卡在线视频| 国产九色精品成人porny| 日av在线不卡| 麻豆精品视频在线观看视频| 午夜精品成人在线视频| 中文字幕一区二区三区不卡| 欧美精品一区二区高清在线观看| 日韩一区二区麻豆国产| 国产成人在线视频网站| 日韩欧美激情一区| 亚洲午夜精品在线| 亚洲成人在线网站| 欧美一卡2卡三卡4卡5免费| 欧美少妇性性性| 成人黄页在线观看| 另类综合日韩欧美亚洲| 久久99精品久久只有精品| 亚洲成人7777| 亚洲va在线va天堂| 一区二区三区在线免费播放 | 国产精品美女久久久久久久| 亚洲国产精品激情在线观看| 国产欧美一区二区三区在线看蜜臀 | 亚洲高清免费观看高清完整版在线观看| 在线精品视频一区二区三四| 欧美日韩一级大片网址| 欧美老女人在线| 精品国产伦一区二区三区免费 | 免费久久99精品国产| 久久国产乱子精品免费女| 国产一区二区女| 国产精品乡下勾搭老头1| 国产91丝袜在线观看| 色婷婷激情综合| 欧美三级在线看| 在线不卡一区二区| 欧美日韩中文另类| 精品精品国产高清一毛片一天堂| 国产欧美一区二区精品久导航 | 国产91丝袜在线18| 欧美在线观看一二区| 欧美成人精品福利| 国产精品国产三级国产普通话蜜臀 | 精品国产乱码久久久久久老虎| 欧美激情在线一区二区三区| 一区二区三区日韩欧美精品| 另类小说视频一区二区| 不卡区在线中文字幕| 欧美另类一区二区三区| 国产精品色一区二区三区| 首页国产欧美日韩丝袜| 成人av电影在线网| 欧美一区二区三区在线观看 | 国产女主播一区| 日韩高清一区二区| 国产91精品入口| 欧美精品自拍偷拍动漫精品| 久久久久久久久一| 亚洲va天堂va国产va久| 国产一区在线精品| 欧美视频第二页| 国产精品色在线| 激情综合五月婷婷| 在线观看91精品国产入口| 久久综合久久久久88| 午夜精品免费在线| 91网站在线播放| 国产欧美一区二区在线| 久久激五月天综合精品| 欧美写真视频网站| 亚洲丝袜自拍清纯另类| 国产一区二区三区四区在线观看| 欧美午夜片在线看| 一区在线观看免费| 免费观看30秒视频久久| 91精品福利视频| 日本一区二区综合亚洲| 韩国精品主播一区二区在线观看| 欧美日韩在线观看一区二区| 国产精品国产馆在线真实露脸 | 久久精品男人的天堂| 久久精品国产一区二区| 欧美性xxxxxx少妇| 一区二区三区四区乱视频| 99在线精品免费| 18成人在线观看| av动漫一区二区| 中文字幕在线观看一区二区| 风间由美性色一区二区三区| 久久久久久久av麻豆果冻| 精品一二三四区| 欧美精品一区二区三区四区| 久久99国产精品久久99果冻传媒| 欧美一激情一区二区三区| 日韩国产在线观看| 欧美一区二区三区精品|