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

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

?? os_task.txt

?? ucos2.86版本結合STM板極支持包
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
;;;432        if (ptcb == OS_TCB_RESERVED) {                              /* Must not be assigned to Mutex       */
0002e6  2c01              CMP      r4,#1
0002e8  d105              BNE      |L1.758|
;;;433            OS_EXIT_CRITICAL();
0002ea  4638              MOV      r0,r7
0002ec  f7fff7ff          BL       OS_CPU_SR_Restore
;;;434            return (OS_ERR_TASK_DEL);
0002f0  203d              MOVS     r0,#0x3d
0002f2  e8bde8bd          POP      {r4-r10,pc}
                  |L1.758|
;;;435        }
;;;436        y            =  ptcb->OSTCBY;
0002f6  f894f894          LDRB     r2,[r4,#0x30]
;;;437        OSRdyTbl[y] &= ~ptcb->OSTCBBitX;
0002fa  4849              LDR      r0,|L1.1056|
0002fc  f894f894          LDRB     r3,[r4,#0x31]
000300  5c81              LDRB     r1,[r0,r2]
000302  4399              BICS     r1,r1,r3
000304  5481              STRB     r1,[r0,r2]
;;;438        if (OSRdyTbl[y] == 0) {                                     /* Make task not ready                 */
000306  5c80              LDRB     r0,[r0,r2]
000308  b930              CBNZ     r0,|L1.792|
;;;439            OSRdyGrp &= ~ptcb->OSTCBBitY;
00030a  4846              LDR      r0,|L1.1060|
00030c  f894f894          LDRB     r1,[r4,#0x32]
000310  7803              LDRB     r3,[r0,#0]  ; OSRdyGrp
000312  ea23ea23          BIC      r1,r3,r1
000316  7001              STRB     r1,[r0,#0]  ; OSRdyGrp
                  |L1.792|
;;;440        }
;;;441        
;;;442    #if OS_EVENT_EN
;;;443        pevent = ptcb->OSTCBEventPtr;
000318  69e1              LDR      r1,[r4,#0x1c]
;;;444        if (pevent != (OS_EVENT *)0) {                              /* If task is waiting on event         */
00031a  b161              CBZ      r1,|L1.822|
;;;445            pevent->OSEventTbl[y] &= ~ptcb->OSTCBBitX;
00031c  440a              ADD      r2,r2,r1
00031e  7ad0              LDRB     r0,[r2,#0xb]
000320  f894f894          LDRB     r3,[r4,#0x31]
000324  4398              BICS     r0,r0,r3
000326  72d0              STRB     r0,[r2,#0xb]
;;;446            if (pevent->OSEventTbl[y] == 0) {                       /* ... remove task from ...            */
000328  7ad0              LDRB     r0,[r2,#0xb]
00032a  b920              CBNZ     r0,|L1.822|
;;;447                pevent->OSEventGrp &= ~ptcb->OSTCBBitY;             /* ... event ctrl block                */
00032c  7a88              LDRB     r0,[r1,#0xa]
00032e  f894f894          LDRB     r2,[r4,#0x32]
000332  4390              BICS     r0,r0,r2
000334  7288              STRB     r0,[r1,#0xa]
                  |L1.822|
;;;448            }
;;;449        }
;;;450    #endif
;;;451    
;;;452    #if (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
;;;453        pnode = ptcb->OSTCBFlagNode;
000336  6a60              LDR      r0,[r4,#0x24]
;;;454        if (pnode != (OS_FLAG_NODE *)0) {                           /* If task is waiting on event flag    */
000338  b108              CBZ      r0,|L1.830|
;;;455            OS_FlagUnlink(pnode);                                   /* Remove from wait list               */
00033a  f7fff7ff          BL       OS_FlagUnlink
                  |L1.830|
;;;456        }
;;;457    #endif
;;;458    
;;;459        ptcb->OSTCBDly      = 0;                                    /* Prevent OSTimeTick() from updating  */
00033e  f04ff04f          MOV      r8,#0
000342  f8a4f8a4          STRH     r8,[r4,#0x2a]
;;;460        ptcb->OSTCBStat     = OS_STAT_RDY;                          /* Prevent task from being resumed     */
000346  f884f884          STRB     r8,[r4,#0x2c]
;;;461        ptcb->OSTCBStatPend = OS_STAT_PEND_OK;
00034a  f884f884          STRB     r8,[r4,#0x2d]
;;;462        if (OSLockNesting < 255u) {                                 /* Make sure we don't context switch   */
00034e  f8dff8df          LDR      r9,|L1.1072|
000352  f899f899          LDRB     r0,[r9,#0]  ; OSLockNesting
000356  28ff              CMP      r0,#0xff
000358  d202              BCS      |L1.864|
;;;463            OSLockNesting++;
00035a  1c40              ADDS     r0,r0,#1
00035c  f889f889          STRB     r0,[r9,#0]  ; OSLockNesting
                  |L1.864|
;;;464        }
;;;465        OS_EXIT_CRITICAL();                                         /* Enabling INT. ignores next instruc. */
000360  4638              MOV      r0,r7
000362  f7fff7ff          BL       OS_CPU_SR_Restore
;;;466        OS_Dummy();                                                 /* ... Dummy ensures that INTs will be */
000366  f7fff7ff          BL       OS_Dummy
;;;467        OS_ENTER_CRITICAL();                                        /* ... disabled HERE!                  */
00036a  f7fff7ff          BL       OS_CPU_SR_Save
00036e  4607              MOV      r7,r0
;;;468        if (OSLockNesting > 0) {                                    /* Remove context switch lock          */
000370  f899f899          LDRB     r1,[r9,#0]  ; OSLockNesting
000374  b111              CBZ      r1,|L1.892|
;;;469            OSLockNesting--;
000376  1e48              SUBS     r0,r1,#1
000378  f889f889          STRB     r0,[r9,#0]  ; OSLockNesting
                  |L1.892|
;;;470        }
;;;471        OSTaskDelHook(ptcb);                                        /* Call user defined hook              */
00037c  4620              MOV      r0,r4
00037e  f7fff7ff          BL       OSTaskDelHook
;;;472        OSTaskCtr--;                                                /* One less task being managed         */
000382  492c              LDR      r1,|L1.1076|
000384  7808              LDRB     r0,[r1,#0]  ; OSTaskCtr
000386  1e40              SUBS     r0,r0,#1
000388  7008              STRB     r0,[r1,#0]  ; OSTaskCtr
;;;473        OSTCBPrioTbl[prio] = (OS_TCB *)0;                           /* Clear old priority entry            */
00038a  f846f846          STR      r8,[r6,r5,LSL #2]
;;;474        if (ptcb->OSTCBPrev == (OS_TCB *)0) {                       /* Remove from TCB chain               */
00038e  69a1              LDR      r1,[r4,#0x18]
000390  b931              CBNZ     r1,|L1.928|
;;;475            ptcb->OSTCBNext->OSTCBPrev = (OS_TCB *)0;
000392  6960              LDR      r0,[r4,#0x14]
000394  f8c0f8c0          STR      r8,[r0,#0x18]
;;;476            OSTCBList                  = ptcb->OSTCBNext;
000398  4927              LDR      r1,|L1.1080|
00039a  6960              LDR      r0,[r4,#0x14]
00039c  6008              STR      r0,[r1,#0]  ; OSTCBList
00039e  e004              B        |L1.938|
                  |L1.928|
;;;477        } else {
;;;478            ptcb->OSTCBPrev->OSTCBNext = ptcb->OSTCBNext;
0003a0  6960              LDR      r0,[r4,#0x14]
0003a2  6148              STR      r0,[r1,#0x14]
;;;479            ptcb->OSTCBNext->OSTCBPrev = ptcb->OSTCBPrev;
0003a4  6961              LDR      r1,[r4,#0x14]
0003a6  69a0              LDR      r0,[r4,#0x18]
0003a8  6188              STR      r0,[r1,#0x18]
                  |L1.938|
;;;480        }
;;;481        ptcb->OSTCBNext   = OSTCBFreeList;                          /* Return TCB to free TCB list         */
0003aa  4824              LDR      r0,|L1.1084|
0003ac  6801              LDR      r1,[r0,#0]  ; OSTCBFreeList
0003ae  6161              STR      r1,[r4,#0x14]
;;;482        OSTCBFreeList     = ptcb;
0003b0  6004              STR      r4,[r0,#0]  ; OSTCBFreeList
;;;483    #if OS_TASK_NAME_SIZE > 1
;;;484        ptcb->OSTCBTaskName[0] = '?';                               /* Unknown name                        */
0003b2  203f              MOVS     r0,#0x3f
0003b4  f884f884          STRB     r0,[r4,#0x48]
;;;485        ptcb->OSTCBTaskName[1] = OS_ASCII_NUL;
0003b8  f884f884          STRB     r8,[r4,#0x49]
;;;486    #endif
;;;487        OS_EXIT_CRITICAL();
0003bc  4638              MOV      r0,r7
0003be  f7fff7ff          BL       OS_CPU_SR_Restore
;;;488        if (OSRunning == OS_TRUE) {
0003c2  4819              LDR      r0,|L1.1064|
0003c4  7800              LDRB     r0,[r0,#0]  ; OSRunning
0003c6  2801              CMP      r0,#1
0003c8  d101              BNE      |L1.974|
;;;489            OS_Sched();                                             /* Find new highest priority task      */
0003ca  f7fff7ff          BL       OS_Sched
                  |L1.974|
;;;490        }
;;;491        return (OS_ERR_NONE);
0003ce  2000              MOVS     r0,#0
;;;492    }
0003d0  e8bde8bd          POP      {r4-r10,pc}
;;;493    #endif
                          ENDP

                  OSTaskDelReq PROC
;;;542    INT8U  OSTaskDelReq (INT8U prio)
;;;543    {
0003d4  b510              PUSH     {r4,lr}
0003d6  4604              MOV      r4,r0
;;;544        INT8U      stat;
;;;545        OS_TCB    *ptcb;
;;;546    #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
;;;547        OS_CPU_SR  cpu_sr = 0;
;;;548    #endif
;;;549    
;;;550    
;;;551    
;;;552        if (prio == OS_TASK_IDLE_PRIO) {                            /* Not allowed to delete idle task     */
0003d8  2c1f              CMP      r4,#0x1f
0003da  d101              BNE      |L1.992|
;;;553            return (OS_ERR_TASK_DEL_IDLE);
0003dc  203e              MOVS     r0,#0x3e
;;;554        }
;;;555    #if OS_ARG_CHK_EN > 0
;;;556        if (prio >= OS_LOWEST_PRIO) {                               /* Task priority valid ?               */
;;;557            if (prio != OS_PRIO_SELF) {
;;;558                return (OS_ERR_PRIO_INVALID);
;;;559            }
;;;560        }
;;;561    #endif
;;;562        if (prio == OS_PRIO_SELF) {                                 /* See if a task is requesting to ...  */
;;;563            OS_ENTER_CRITICAL();                                    /* ... this task to delete itself      */
;;;564            stat = OSTCBCur->OSTCBDelReq;                           /* Return request status to caller     */
;;;565            OS_EXIT_CRITICAL();
;;;566            return (stat);
;;;567        }
;;;568        OS_ENTER_CRITICAL();
;;;569        ptcb = OSTCBPrioTbl[prio];
;;;570        if (ptcb == (OS_TCB *)0) {                                  /* Task to delete must exist           */
;;;571            OS_EXIT_CRITICAL();
;;;572            return (OS_ERR_TASK_NOT_EXIST);                         /* Task must already be deleted        */
;;;573        }
;;;574        if (ptcb == OS_TCB_RESERVED) {                              /* Must NOT be assigned to a Mutex     */
;;;575            OS_EXIT_CRITICAL();
;;;576            return (OS_ERR_TASK_DEL);
;;;577        }
;;;578        ptcb->OSTCBDelReq = OS_ERR_TASK_DEL_REQ;                    /* Set flag indicating task to be DEL. */
;;;579        OS_EXIT_CRITICAL();
;;;580        return (OS_ERR_NONE);
;;;581    }
0003de  bd10              POP      {r4,pc}
                  |L1.992|
0003e0  d303              BCC      |L1.1002|
0003e2  2cff              CMP      r4,#0xff
0003e4  d001              BEQ      |L1.1002|
0003e6  202a              MOVS     r0,#0x2a
0003e8  bd10              POP      {r4,pc}
                  |L1.1002|
0003ea  2cff              CMP      r4,#0xff
0003ec  d109              BNE      |L1.1026|
0003ee  f7fff7ff          BL       OS_CPU_SR_Save
0003f2  490a              LDR      r1,|L1.1052|
0003f4  6809              LDR      r1,[r1,#0]  ; OSTCBCur
0003f6  f891f891          LDRB     r4,[r1,#0x33]
0003fa  f7fff7ff          BL       OS_CPU_SR_Restore
0003fe  4620              MOV      r0,r4
000400  bd10              POP      {r4,pc}
                  |L1.1026|
000402  f7fff7ff          BL       OS_CPU_SR_Save
000406  4904              LDR      r1,|L1.1048|
000408  f851f851          LDR      r1,[r1,r4,LSL #2]
00040c  b9c1              CBNZ     r1,|L1.1088|
00040e  f7fff7ff          BL       OS_CPU_SR_Restore
000412  2043              MOVS     r0,#0x43
                  |L1.1044|
000414  bd10              POP      {r4,pc}
000416  0000              DCW      0x0000
                  |L1.1048|
000418  00000000          DCD      OSTCBPrioTbl
                  |L1.1052|
00041c  00000000          DCD      OSTCBCur
                  |L1.1056|
000420  00000000          DCD      OSRdyTbl
                  |L1.1060|
000424  00000000          DCD      OSRdyGrp
                  |L1.1064|
000428  00000000          DCD      OSRunning
                  |L1.1068|
00042c  00000000          DCD      OSIntNesting
                  |L1.1072|
000430  00000000          DCD      OSLockNesting
                  |L1.1076|
000434  00000000          DCD      OSTaskCtr
                  |L1.1080|
000438  00000000          DCD      OSTCBList
                  |L1.1084|
00043c  00000000          DCD      OSTCBFreeList
                  |L1.1088|
000440  2901              CMP      r1,#1
000442  d103              BNE      |L1.1100|
000444  f7fff7ff          BL       OS_CPU_SR_Restore
000448  203d              MOVS     r0,#0x3d
00044a  e7e3              B        |L1.1044|
                  |L1.1100|
00044c  223f              MOVS     r2,#0x3f
00044e  f881f881          STRB     r2,[r1,#0x33]
000452  f7fff7ff          BL       OS_CPU_SR_Restore
000456  2000              MOVS     r0,#0
000458  e7dc              B        |L1.1044|
;;;582    #endif
                          ENDP

                  OSTaskNameGet PROC
;;;610    INT8U  OSTaskNameGet (INT8U prio, INT8U *pname, INT8U *perr)
;;;611    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久电影| 亚洲欧美视频在线观看视频| 亚洲成人久久影院| 欧美日韩一区二区三区高清| 亚洲精品日产精品乱码不卡| 欧美午夜免费电影| 喷水一区二区三区| 欧美大片一区二区三区| 九色综合国产一区二区三区| 国产午夜精品久久久久久免费视 | 成人久久久精品乱码一区二区三区| 久久久99精品久久| 色婷婷av一区二区三区大白胸| 亚洲一区二区av在线| 欧美一区午夜视频在线观看| 国产美女久久久久| 亚洲一区二区四区蜜桃| 欧美成人在线直播| av欧美精品.com| 日产国产高清一区二区三区| 国产亚洲欧美色| 欧美吻胸吃奶大尺度电影| 麻豆专区一区二区三区四区五区| 国产日产欧产精品推荐色 | 欧美日韩综合不卡| 久久99精品视频| 亚洲素人一区二区| 欧美一卡2卡三卡4卡5免费| 国产成人福利片| 三级精品在线观看| 国产精品情趣视频| 日韩三级视频中文字幕| 99久久精品免费观看| 久久国产免费看| 亚洲www啪成人一区二区麻豆| 久久亚洲影视婷婷| 欧美日韩国产123区| 国产精品主播直播| 久久精品国产久精国产爱| 亚洲摸摸操操av| 国产人成亚洲第一网站在线播放| 欧美一区二区三区婷婷月色| 一本色道久久加勒比精品| 国产电影一区二区三区| 热久久免费视频| 亚洲一级电影视频| 亚洲免费观看高清完整版在线观看| 精品av综合导航| 欧美一级日韩一级| 欧美日本一区二区三区| 日本韩国欧美三级| 91麻豆蜜桃一区二区三区| 国产不卡视频在线观看| 久久成人免费网| 美国毛片一区二区| 免费人成网站在线观看欧美高清| 亚洲最大成人综合| 亚洲精品写真福利| 亚洲乱码精品一二三四区日韩在线| 久久久久久久国产精品影院| 欧美精品一区二区三区蜜桃 | 日韩欧美三级在线| 欧美一区二区三区精品| 777午夜精品免费视频| 欧美日韩视频在线观看一区二区三区| 色999日韩国产欧美一区二区| 9人人澡人人爽人人精品| 成人av综合一区| 91香蕉视频污| 欧洲亚洲精品在线| 91精品一区二区三区在线观看| 欧美日韩午夜在线| 欧美精品乱码久久久久久| 欧美肥妇bbw| 精品欧美久久久| 久久久噜噜噜久久中文字幕色伊伊| 久久午夜羞羞影院免费观看| 国产女同性恋一区二区| 最新高清无码专区| 亚洲二区在线观看| 韩国成人精品a∨在线观看| 国产一区二区伦理| 99久久国产综合精品麻豆| 欧美性欧美巨大黑白大战| 欧美巨大另类极品videosbest| 欧美一区二区私人影院日本| 精品免费一区二区三区| 欧美国产日韩亚洲一区| 亚洲一区二区三区在线| 免费成人在线影院| 国产一本一道久久香蕉| 不卡高清视频专区| 欧美三片在线视频观看| 精品国产91洋老外米糕| 尤物av一区二区| 奇米影视一区二区三区| 成人一区二区三区在线观看| 色狠狠桃花综合| 欧美一级夜夜爽| 亚洲天堂精品在线观看| 日本va欧美va欧美va精品| voyeur盗摄精品| 欧美一区二区日韩一区二区| 国产欧美精品一区| 图片区小说区国产精品视频| 国产福利不卡视频| 欧美伦理影视网| 国产日产欧美精品一区二区三区| 亚洲激情校园春色| 成人免费视频一区二区| 在线电影院国产精品| 欧美精彩视频一区二区三区| 亚洲综合在线观看视频| 国产盗摄女厕一区二区三区| 欧美精品丝袜中出| 亚洲欧美电影一区二区| 国产在线播放一区| 欧美午夜在线一二页| 国产精品成人午夜| 国产一二精品视频| 日韩一区二区三区观看| 一区二区三区视频在线看| 国产精品99久久久久久久vr| 91精选在线观看| 亚洲一区在线观看网站| hitomi一区二区三区精品| 日韩亚洲国产中文字幕欧美| 亚洲自拍与偷拍| 一本色道久久综合狠狠躁的推荐| 国产亲近乱来精品视频| 国产酒店精品激情| xvideos.蜜桃一区二区| 蜜臀久久99精品久久久久久9| 欧美日韩在线一区二区| 夜夜夜精品看看| 色八戒一区二区三区| 国产精品灌醉下药二区| 国产美女精品在线| 精品国产91久久久久久久妲己| 午夜精品久久久久久久99樱桃 | 亚洲色图.com| 成人18精品视频| 亚洲国产高清在线| 成人免费观看av| 久久久久久影视| 国内精品在线播放| 久久久精品日韩欧美| 国产成人在线观看免费网站| 2023国产精华国产精品| 国产精品99久久久久久有的能看| 久久久欧美精品sm网站| 国产激情91久久精品导航| 欧美国产激情一区二区三区蜜月| 国产精华液一区二区三区| 亚洲国产精品成人综合 | 一区二区免费在线播放| 欧洲色大大久久| 天天做天天摸天天爽国产一区| 欧美日韩性生活| 久久国产三级精品| 中日韩免费视频中文字幕| 一本久道中文字幕精品亚洲嫩| 一级日本不卡的影视| 欧美日韩电影在线| 国产中文字幕精品| 国产精品久久久久久久久快鸭| 91在线精品秘密一区二区| 一个色妞综合视频在线观看| 91精品在线观看入口| 国产成人av一区二区三区在线| 国产精品视频一二三| 欧美日韩你懂得| 国产精品一区二区三区99| 1024亚洲合集| 日韩一区二区在线观看视频播放| 激情深爱一区二区| 亚洲日本va在线观看| 91精品国产黑色紧身裤美女| 国产一区美女在线| 亚洲一区二区高清| 久久精品人人做人人爽人人 | 亚洲一区二区不卡免费| 精品黑人一区二区三区久久 | 一区二区三区四区视频精品免费| 这里只有精品免费| 成人精品鲁一区一区二区| 亚洲成人资源网| 国产欧美日韩在线| 91精品国产入口| 99久久伊人精品| 久久精品国产秦先生| 亚洲一级在线观看| 亚洲欧美在线视频| 久久奇米777| 欧美高清dvd| 成人av免费网站| 久热成人在线视频| 午夜一区二区三区在线观看| 自拍偷拍欧美精品| 久久久久9999亚洲精品|