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

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

?? os_task.txt

?? ucos2.86版本結合STM板極支持包
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
;;;789        if ((ptcb->OSTCBStat & OS_STAT_SUSPEND) != OS_STAT_RDY) { /* Task must be suspended                */
;;;790            ptcb->OSTCBStat &= ~(INT8U)OS_STAT_SUSPEND;           /* Remove suspension                     */
;;;791            if (ptcb->OSTCBStat == OS_STAT_RDY) {                 /* See if task is now ready              */
;;;792                if (ptcb->OSTCBDly == 0) {
;;;793                    OSRdyGrp               |= ptcb->OSTCBBitY;    /* Yes, Make task ready to run           */
;;;794                    OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
;;;795                    OS_EXIT_CRITICAL();
;;;796                    if (OSRunning == OS_TRUE) {
;;;797                        OS_Sched();                               /* Find new highest priority task        */
;;;798                    }
;;;799                } else {
;;;800                    OS_EXIT_CRITICAL();
;;;801                }
;;;802            } else {                                              /* Must be pending on event              */
;;;803                OS_EXIT_CRITICAL();
;;;804            }
;;;805            return (OS_ERR_NONE);
;;;806        }
;;;807        OS_EXIT_CRITICAL();
;;;808        return (OS_ERR_TASK_NOT_SUSPENDED);
;;;809    }
0005a0  bd10              POP      {r4,pc}
                  |L1.1442|
0005a2  f7fff7ff          BL       OS_CPU_SR_Save
0005a6  4985              LDR      r1,|L1.1980|
0005a8  f851f851          LDR      r1,[r1,r4,LSL #2]
0005ac  b919              CBNZ     r1,|L1.1462|
0005ae  f7fff7ff          BL       OS_CPU_SR_Restore
0005b2  2046              MOVS     r0,#0x46
0005b4  bd10              POP      {r4,pc}
                  |L1.1462|
0005b6  2901              CMP      r1,#1
0005b8  d103              BNE      |L1.1474|
0005ba  f7fff7ff          BL       OS_CPU_SR_Restore
0005be  2043              MOVS     r0,#0x43
0005c0  bd10              POP      {r4,pc}
                  |L1.1474|
0005c2  f891f891          LDRB     r2,[r1,#0x2c]
0005c6  f012f012          TST      r2,#8
0005ca  d02a              BEQ      |L1.1570|
0005cc  f022f022          BIC      r2,r2,#8
0005d0  f881f881          STRB     r2,[r1,#0x2c]
0005d4  f891f891          LDRB     r2,[r1,#0x2c]
0005d8  b9fa              CBNZ     r2,|L1.1562|
0005da  8d4a              LDRH     r2,[r1,#0x2a]
0005dc  b9d2              CBNZ     r2,|L1.1556|
0005de  4a78              LDR      r2,|L1.1984|
0005e0  f891f891          LDRB     r3,[r1,#0x32]
0005e4  f892f892          LDRB     r12,[r2,#0]  ; OSRdyGrp
0005e8  ea43ea43          ORR      r3,r3,r12
0005ec  7013              STRB     r3,[r2,#0]  ; OSRdyGrp
0005ee  f891f891          LDRB     r2,[r1,#0x30]
0005f2  4b74              LDR      r3,|L1.1988|
0005f4  f891f891          LDRB     r1,[r1,#0x31]
0005f8  f813f813          LDRB     r12,[r3,r2]
0005fc  ea4cea4c          ORR      r1,r12,r1
000600  5499              STRB     r1,[r3,r2]
000602  f7fff7ff          BL       OS_CPU_SR_Restore
000606  4870              LDR      r0,|L1.1992|
000608  7800              LDRB     r0,[r0,#0]  ; OSRunning
00060a  2801              CMP      r0,#1
00060c  d107              BNE      |L1.1566|
00060e  f7fff7ff          BL       OS_Sched
000612  e004              B        |L1.1566|
                  |L1.1556|
000614  f7fff7ff          BL       OS_CPU_SR_Restore
000618  e001              B        |L1.1566|
                  |L1.1562|
00061a  f7fff7ff          BL       OS_CPU_SR_Restore
                  |L1.1566|
00061e  2000              MOVS     r0,#0
000620  bd10              POP      {r4,pc}
                  |L1.1570|
000622  f7fff7ff          BL       OS_CPU_SR_Restore
000626  2044              MOVS     r0,#0x44
000628  bd10              POP      {r4,pc}
;;;810    #endif
                          ENDP

                  OSTaskStkChk PROC
;;;832    INT8U  OSTaskStkChk (INT8U prio, OS_STK_DATA *p_stk_data)
;;;833    {
00062a  e92de92d          PUSH     {r4-r8,lr}
00062e  4604              MOV      r4,r0
000630  460d              MOV      r5,r1
;;;834        OS_TCB    *ptcb;
;;;835        OS_STK    *pchk;
;;;836        INT32U     free;
;;;837        INT32U     size;
;;;838    #if OS_CRITICAL_METHOD == 3                            /* Allocate storage for CPU status register     */
;;;839        OS_CPU_SR  cpu_sr = 0;
;;;840    #endif
;;;841    
;;;842    
;;;843    
;;;844    #if OS_ARG_CHK_EN > 0
;;;845        if (prio > OS_LOWEST_PRIO) {                       /* Make sure task priority is valid             */
000632  2c1f              CMP      r4,#0x1f
000634  d904              BLS      |L1.1600|
;;;846            if (prio != OS_PRIO_SELF) {
000636  2cff              CMP      r4,#0xff
000638  d002              BEQ      |L1.1600|
;;;847                return (OS_ERR_PRIO_INVALID);
00063a  202a              MOVS     r0,#0x2a
00063c  e8bde8bd          POP      {r4-r8,pc}
                  |L1.1600|
;;;848            }
;;;849        }
;;;850        if (p_stk_data == (OS_STK_DATA *)0) {              /* Validate 'p_stk_data'                        */
000640  b915              CBNZ     r5,|L1.1608|
;;;851            return (OS_ERR_PDATA_NULL);
000642  2009              MOVS     r0,#9
000644  e8bde8bd          POP      {r4-r8,pc}
                  |L1.1608|
;;;852        }
;;;853    #endif
;;;854        p_stk_data->OSFree = 0;                            /* Assume failure, set to 0 size                */
000648  2000              MOVS     r0,#0
00064a  6028              STR      r0,[r5,#0]
;;;855        p_stk_data->OSUsed = 0;
00064c  6068              STR      r0,[r5,#4]
;;;856        OS_ENTER_CRITICAL();
00064e  f7fff7ff          BL       OS_CPU_SR_Save
;;;857        if (prio == OS_PRIO_SELF) {                        /* See if check for SELF                        */
000652  2cff              CMP      r4,#0xff
000654  d103              BNE      |L1.1630|
;;;858            prio = OSTCBCur->OSTCBPrio;
000656  4958              LDR      r1,|L1.1976|
000658  6809              LDR      r1,[r1,#0]  ; OSTCBCur
00065a  f891f891          LDRB     r4,[r1,#0x2e]
                  |L1.1630|
;;;859        }
;;;860        ptcb = OSTCBPrioTbl[prio];
00065e  4957              LDR      r1,|L1.1980|
000660  f851f851          LDR      r1,[r1,r4,LSL #2]
;;;861        if (ptcb == (OS_TCB *)0) {                         /* Make sure task exist                         */
000664  b921              CBNZ     r1,|L1.1648|
;;;862            OS_EXIT_CRITICAL();
000666  f7fff7ff          BL       OS_CPU_SR_Restore
;;;863            return (OS_ERR_TASK_NOT_EXIST);
00066a  2043              MOVS     r0,#0x43
00066c  e8bde8bd          POP      {r4-r8,pc}
                  |L1.1648|
;;;864        }
;;;865        if (ptcb == OS_TCB_RESERVED) {
000670  2901              CMP      r1,#1
000672  d104              BNE      |L1.1662|
;;;866            OS_EXIT_CRITICAL();
000674  f7fff7ff          BL       OS_CPU_SR_Restore
;;;867            return (OS_ERR_TASK_NOT_EXIST);
000678  2043              MOVS     r0,#0x43
00067a  e8bde8bd          POP      {r4-r8,pc}
                  |L1.1662|
;;;868        }
;;;869        if ((ptcb->OSTCBOpt & OS_TASK_OPT_STK_CHK) == 0) { /* Make sure stack checking option is set       */
00067e  8a0a              LDRH     r2,[r1,#0x10]
000680  f012f012          TST      r2,#1
000684  d104              BNE      |L1.1680|
;;;870            OS_EXIT_CRITICAL();
000686  f7fff7ff          BL       OS_CPU_SR_Restore
;;;871            return (OS_ERR_TASK_OPT);
00068a  2045              MOVS     r0,#0x45
00068c  e8bde8bd          POP      {r4-r8,pc}
                  |L1.1680|
;;;872        }
;;;873        free = 0;
000690  2400              MOVS     r4,#0
;;;874        size = ptcb->OSTCBStkSize;
000692  68ce              LDR      r6,[r1,#0xc]
;;;875        pchk = ptcb->OSTCBStkBottom;
000694  688f              LDR      r7,[r1,#8]
;;;876        OS_EXIT_CRITICAL();
000696  f7fff7ff          BL       OS_CPU_SR_Restore
;;;877    #if OS_STK_GROWTH == 1
;;;878        while (*pchk++ == (OS_STK)0) {                    /* Compute the number of zero entries on the stk */
00069a  6839              LDR      r1,[r7,#0]
00069c  1d38              ADDS     r0,r7,#4
00069e  b921              CBNZ     r1,|L1.1706|
                  |L1.1696|
;;;879            free++;
0006a0  1c64              ADDS     r4,r4,#1
0006a2  f850f850          LDR      r1,[r0],#4
0006a6  2900              CMP      r1,#0
0006a8  d0fa              BEQ      |L1.1696|
                  |L1.1706|
;;;880        }
;;;881    #else
;;;882        while (*pchk-- == (OS_STK)0) {
;;;883            free++;
;;;884        }
;;;885    #endif
;;;886        p_stk_data->OSFree = free * sizeof(OS_STK);           /* Compute number of free bytes on the stack */
0006aa  00a0              LSLS     r0,r4,#2
0006ac  6028              STR      r0,[r5,#0]
;;;887        p_stk_data->OSUsed = (size - free) * sizeof(OS_STK);  /* Compute number of bytes used on the stack */
0006ae  1b30              SUBS     r0,r6,r4
0006b0  0080              LSLS     r0,r0,#2
0006b2  6068              STR      r0,[r5,#4]
;;;888        return (OS_ERR_NONE);
0006b4  2000              MOVS     r0,#0
;;;889    }
0006b6  e8bde8bd          POP      {r4-r8,pc}
;;;890    #endif
                          ENDP

                  OSTaskSuspend PROC
;;;916    INT8U  OSTaskSuspend (INT8U prio)
;;;917    {
0006ba  b570              PUSH     {r4-r6,lr}
0006bc  4604              MOV      r4,r0
;;;918        BOOLEAN    self;
;;;919        OS_TCB    *ptcb;
;;;920        INT8U      y;
;;;921    #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
;;;922        OS_CPU_SR  cpu_sr = 0;
;;;923    #endif
;;;924    
;;;925    
;;;926    
;;;927    #if OS_ARG_CHK_EN > 0
;;;928        if (prio == OS_TASK_IDLE_PRIO) {                            /* Not allowed to suspend idle task    */
0006be  2c1f              CMP      r4,#0x1f
0006c0  d101              BNE      |L1.1734|
;;;929            return (OS_ERR_TASK_SUSPEND_IDLE);
0006c2  2047              MOVS     r0,#0x47
;;;930        }
;;;931        if (prio >= OS_LOWEST_PRIO) {                               /* Task priority valid ?               */
;;;932            if (prio != OS_PRIO_SELF) {
;;;933                return (OS_ERR_PRIO_INVALID);
;;;934            }
;;;935        }
;;;936    #endif
;;;937        OS_ENTER_CRITICAL();
;;;938        if (prio == OS_PRIO_SELF) {                                 /* See if suspend SELF                 */
;;;939            prio = OSTCBCur->OSTCBPrio;
;;;940            self = OS_TRUE;
;;;941        } else if (prio == OSTCBCur->OSTCBPrio) {                   /* See if suspending self              */
;;;942            self = OS_TRUE;
;;;943        } else {
;;;944            self = OS_FALSE;                                        /* No suspending another task          */
;;;945        }
;;;946        ptcb = OSTCBPrioTbl[prio];
;;;947        if (ptcb == (OS_TCB *)0) {                                  /* Task to suspend must exist          */
;;;948            OS_EXIT_CRITICAL();
;;;949            return (OS_ERR_TASK_SUSPEND_PRIO);
;;;950        }
;;;951        if (ptcb == OS_TCB_RESERVED) {                              /* See if assigned to Mutex            */
;;;952            OS_EXIT_CRITICAL();
;;;953            return (OS_ERR_TASK_NOT_EXIST);
;;;954        }
;;;955        y            = ptcb->OSTCBY;
;;;956        OSRdyTbl[y] &= ~ptcb->OSTCBBitX;                            /* Make task not ready                 */
;;;957        if (OSRdyTbl[y] == 0) {
;;;958            OSRdyGrp &= ~ptcb->OSTCBBitY;
;;;959        }
;;;960        ptcb->OSTCBStat |= OS_STAT_SUSPEND;                         /* Status of task is 'SUSPENDED'       */
;;;961        OS_EXIT_CRITICAL();
;;;962        if (self == OS_TRUE) {                                      /* Context switch only if SELF         */
;;;963            OS_Sched();                                             /* Find new highest priority task      */
;;;964        }
;;;965        return (OS_ERR_NONE);
;;;966    }
0006c4  bd70              POP      {r4-r6,pc}
                  |L1.1734|
0006c6  d303              BCC      |L1.1744|
0006c8  2cff              CMP      r4,#0xff
0006ca  d001              BEQ      |L1.1744|
0006cc  202a              MOVS     r0,#0x2a
0006ce  bd70              POP      {r4-r6,pc}
                  |L1.1744|
0006d0  f7fff7ff          BL       OS_CPU_SR_Save
0006d4  4938              LDR      r1,|L1.197

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本vs亚洲vs韩国一区三区二区| 国产酒店精品激情| 美女尤物国产一区| 国产剧情一区在线| 欧美日韩精品是欧美日韩精品| 在线播放国产精品二区一二区四区| 欧美成人精精品一区二区频| 欧美国产日韩精品免费观看| 午夜伊人狠狠久久| 国产福利一区二区三区视频在线| 在线看国产日韩| 国产喷白浆一区二区三区| 亚洲高清免费观看 | 国产在线视视频有精品| 丁香一区二区三区| 欧美精选一区二区| 国产欧美日韩卡一| 日韩精品每日更新| 成人深夜在线观看| 日韩你懂的在线观看| 国产精品素人一区二区| 日韩中文字幕不卡| 色吧成人激情小说| 国产午夜精品福利| 日韩福利视频导航| 色婷婷精品久久二区二区蜜臂av| 久久精品男人天堂av| 午夜av区久久| 在线免费观看一区| 国产精品久久久久久久久免费樱桃 | 欧美一级片在线| 最新欧美精品一区二区三区| 国产一区二区视频在线| 69p69国产精品| 日本一区二区三区国色天香 | 成人午夜免费视频| 日韩免费高清av| 午夜视频在线观看一区| 91蜜桃免费观看视频| 国产精品久久久一本精品 | 一区二区三区精品在线| 成人自拍视频在线观看| 久久久夜色精品亚洲| 日本不卡一区二区| 91精品婷婷国产综合久久性色| 欧美激情综合在线| 激情综合色播激情啊| 欧美日韩国产高清一区| 亚洲精品欧美专区| 91国偷自产一区二区三区观看 | 欧美电影精品一区二区| 日韩不卡一区二区三区| 欧美一区二视频| 日日夜夜免费精品视频| 欧美视频一区二区三区四区| 夜夜嗨av一区二区三区中文字幕 | 蜜臀av性久久久久av蜜臀妖精| 99精品国产热久久91蜜凸| 中文字幕国产精品一区二区| 国产成人99久久亚洲综合精品| 久久综合九色综合久久久精品综合| 免费视频最近日韩| 精品国产一区二区三区四区四| 日本欧美韩国一区三区| 日韩一级二级三级| 国产精品系列在线播放| 欧美国产精品v| 一本到高清视频免费精品| 一区二区三区91| 欧美乱妇一区二区三区不卡视频| 午夜av一区二区| 日韩免费观看2025年上映的电影 | 成人永久免费视频| 国产日韩欧美精品一区| 色综合久久综合中文综合网| 午夜免费久久看| 日韩欧美一区在线| 成人sese在线| 亚洲国产综合视频在线观看| 日韩视频免费直播| 国产传媒一区在线| 亚洲精选免费视频| 日韩欧美成人一区二区| av一区二区三区在线| 亚洲国产毛片aaaaa无费看| 欧美成人国产一区二区| 国产91丝袜在线播放0| 综合久久久久久| 69成人精品免费视频| 成人黄色网址在线观看| 爽好多水快深点欧美视频| 久久久一区二区| 欧美老年两性高潮| 精品一区二区影视| 曰韩精品一区二区| 日韩一区二区在线播放| 国产永久精品大片wwwapp| 亚洲精品高清视频在线观看| 精品国产乱码久久久久久浪潮| gogogo免费视频观看亚洲一| 日本一区中文字幕 | 久久九九影视网| 欧美日韩国产天堂| 99在线精品视频| 紧缚奴在线一区二区三区| 亚洲成人黄色小说| 亚洲欧洲日产国产综合网| 精品欧美一区二区在线观看| 成人污视频在线观看| 精品一区二区三区影院在线午夜 | 国产日韩高清在线| 日韩小视频在线观看专区| 国产成人日日夜夜| 久久精品99国产国产精| 亚洲午夜精品17c| 国产精品不卡在线| 久久精品人人做人人综合| 欧美高清性hdvideosex| 欧美午夜精品久久久久久超碰| 成人h动漫精品一区二区| 国产精品一品二品| 精品一区二区三区免费观看| 日韩精品亚洲专区| 亚洲h在线观看| 国产精品国产精品国产专区不片| 欧美一区二区三区四区在线观看| 99精品桃花视频在线观看| 卡一卡二国产精品 | 狠狠色伊人亚洲综合成人| 日韩精品电影一区亚洲| 五月天欧美精品| 亚洲sss视频在线视频| 午夜影院在线观看欧美| 亚洲成人福利片| 日韩成人午夜精品| 日韩精品电影一区亚洲| 青青草国产精品亚洲专区无| 欧美aaaaaa午夜精品| 美日韩一级片在线观看| 久99久精品视频免费观看| 伦理电影国产精品| 国产一区二区福利| 成人亚洲一区二区一| 91麻豆国产在线观看| 91国偷自产一区二区使用方法| 在线观看亚洲专区| 欧美群妇大交群中文字幕| 91精品欧美久久久久久动漫 | 久久精品亚洲国产奇米99| 久久久午夜精品| 国产精品色眯眯| 亚洲欧美一区二区三区国产精品 | 亚洲视频在线一区| 亚洲精品视频在线观看网站| 综合久久给合久久狠狠狠97色| 欧美福利视频一区| 精品对白一区国产伦| 国产人妖乱国产精品人妖| 国产精品国产三级国产三级人妇| 亚洲乱码国产乱码精品精小说| 亚洲乱码日产精品bd| 免费人成精品欧美精品| 国产凹凸在线观看一区二区| 99国产欧美久久久精品| 欧美色欧美亚洲另类二区| 亚洲综合久久av| 国产三级欧美三级| 亚洲1区2区3区视频| 丰满白嫩尤物一区二区| 欧美猛男gaygay网站| 中文字幕一区二区三区不卡在线| 欧美bbbbb| 91久久国产最好的精华液| 日本一区二区免费在线| 日av在线不卡| 欧美久久久久久久久| 亚洲人123区| 国产成人综合亚洲网站| 日韩丝袜美女视频| 亚洲国产成人91porn| 91浏览器在线视频| 久久久国产精品不卡| 欧美a级一区二区| 欧美精品 日韩| 亚洲成人你懂的| 欧美亚洲综合久久| 亚洲人被黑人高潮完整版| 成人午夜免费电影| 国产日韩欧美精品综合| 国产一区二区剧情av在线| 精品理论电影在线| 日韩精品一二区| 69久久99精品久久久久婷婷| 亚洲国产va精品久久久不卡综合| 色噜噜狠狠色综合中国| 日韩伦理av电影| 99国产精品久久| 亚洲色图欧洲色图婷婷| 91视视频在线观看入口直接观看www| 国产欧美日韩中文久久|