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

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

?? os_task.txt

?? ATMEL ARM7 SAM64 Porting ucos / Keil ARM VER3.04。不同于其它
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
000170  e1a00004          MOV      r0,r4                 ;629
000174  ebfffffe          BL       OS_CPU_SR_Restore     ;629
000178  e3a00000          MOV      r0,#0                 ;630
00017c  e5c50000          STRB     r0,[r5,#0]            ;630
000180  e1a00006          MOV      r0,r6                 ;631
000184  eafffff3          B        |L1.344|              ;631
                          ENDP

                  OSTaskNameSet PROC
;;;662    void  OSTaskNameSet (INT8U prio, INT8U *pname, INT8U *err)
;;;663    {
000188  e92d41f0          PUSH     {r4-r8,lr}
00018c  e1a05000          MOV      r5,r0
000190  e1a07001          MOV      r7,r1
000194  e1a04002          MOV      r4,r2
;;;664        INT8U      len;
;;;665        OS_TCB    *ptcb;
;;;666    #if OS_CRITICAL_METHOD == 3                          /* Allocate storage for CPU status register       */
;;;667        OS_CPU_SR  cpu_sr = 0;
;;;668    #endif
;;;669    
;;;670    
;;;671    
;;;672    #if OS_ARG_CHK_EN > 0
;;;673        if (err == (INT8U *)0) {                         /* Validate 'err'                                 */
;;;674            return;
;;;675        }
;;;676        if (prio > OS_LOWEST_PRIO) {                     /* Task priority valid ?                          */
;;;677            if (prio != OS_PRIO_SELF) {
;;;678                *err = OS_PRIO_INVALID;                  /* No                                             */
;;;679                return;
;;;680            }
;;;681        }
;;;682        if (pname == (INT8U *)0) {                        /* Is 'pname' a NULL pointer?                     */
;;;683            *err = OS_ERR_PNAME_NULL;					 /* Yes                                            */
;;;684            return;
;;;685        }
;;;686    #endif
;;;687        OS_ENTER_CRITICAL();
000198  ebfffffe          BL       OS_CPU_SR_Save
;;;688        if (prio == OS_PRIO_SELF) {                      /* See if caller desires to set it's own name     */
00019c  e35500ff          CMP      r5,#0xff
0001a0  e1a06000          MOV      r6,r0                 ;687
;;;689            prio = OSTCBCur->OSTCBPrio;
0001a4  059f0120          LDREQ    r0,|L1.716|
;;;690        }
;;;691        ptcb = OSTCBPrioTbl[prio];
0001a8  e3a0800b          MOV      r8,#0xb
0001ac  05900000          LDREQ    r0,[r0,#0]            ;689  ; OSTCBCur
0001b0  05d05020          LDRBEQ   r5,[r0,#0x20]         ;689
0001b4  e59f0108          LDR      r0,|L1.708|
0001b8  e7905105          LDR      r5,[r0,r5,LSL #2]
;;;692        if (ptcb == (OS_TCB *)0) {                       /* Does task exist?                               */
0001bc  e3550000          CMP      r5,#0
;;;693            OS_EXIT_CRITICAL();                          /* No                                             */
;;;694            *err = OS_TASK_NOT_EXIST;
;;;695            return;
;;;696        }
;;;697        if (ptcb == (OS_TCB *)1) {                       /* Task assigned to a Mutex?                      */
0001c0  13550001          CMPNE    r5,#1
0001c4  1a000004          BNE      |L1.476|              ;692
;;;698            OS_EXIT_CRITICAL();                          /* Yes                                            */
0001c8  e1a00006          MOV      r0,r6
0001cc  ebfffffe          BL       OS_CPU_SR_Restore
;;;699            *err = OS_TASK_NOT_EXIST;
0001d0  e5c48000          STRB     r8,[r4,#0]
;;;700            return;
;;;701        }
;;;702        len = OS_StrLen(pname);                          /* Yes, Can we fit the string in the TCB?         */
;;;703        if (len > (OS_TASK_NAME_SIZE - 1)) {             /*      No                                        */
;;;704            OS_EXIT_CRITICAL();
;;;705            *err = OS_ERR_TASK_NAME_TOO_LONG;
;;;706            return;
;;;707        }
;;;708        (void)OS_StrCopy(ptcb->OSTCBTaskName, pname);    /*      Yes, copy to TCB                          */
;;;709        OS_EXIT_CRITICAL();
;;;710        *err = OS_NO_ERR;
;;;711    }
                  |L1.468|
0001d4  e8bd41f0          POP      {r4-r8,lr}
0001d8  e12fff1e          BX       lr
                  |L1.476|
0001dc  e1a00007          MOV      r0,r7                 ;702
0001e0  ebfffffe          BL       OS_StrLen             ;702
0001e4  e350000f          CMP      r0,#0xf               ;703
0001e8  9a000003          BLS      |L1.508|              ;703
0001ec  e1a00006          MOV      r0,r6                 ;704
0001f0  ebfffffe          BL       OS_CPU_SR_Restore     ;704
0001f4  e3a0000e          MOV      r0,#0xe               ;705
0001f8  ea000005          B        |L1.532|              ;706
                  |L1.508|
0001fc  e1a01007          MOV      r1,r7                 ;708
000200  e285003c          ADD      r0,r5,#0x3c           ;708
000204  ebfffffe          BL       OS_StrCopy            ;708
000208  e1a00006          MOV      r0,r6                 ;709
00020c  ebfffffe          BL       OS_CPU_SR_Restore     ;709
000210  e3a00000          MOV      r0,#0                 ;710
                  |L1.532|
000214  e5c40000          STRB     r0,[r4,#0]            ;710
000218  eaffffed          B        |L1.468|              ;710
                          ENDP

                  OSTaskStkChk PROC
;;;799    INT8U  OSTaskStkChk (INT8U prio, OS_STK_DATA *p_stk_data)
;;;800    {
00021c  e92d41f0          PUSH     {r4-r8,lr}
000220  e1a04000          MOV      r4,r0
;;;801        OS_TCB    *ptcb;
;;;802        OS_STK    *pchk;
;;;803        INT32U     free;
;;;804        INT32U     size;
;;;805    #if OS_CRITICAL_METHOD == 3                            /* Allocate storage for CPU status register     */
;;;806        OS_CPU_SR  cpu_sr = 0;
;;;807    #endif
;;;808    
;;;809    
;;;810    
;;;811    #if OS_ARG_CHK_EN > 0
;;;812        if (prio > OS_LOWEST_PRIO) {                       /* Make sure task priority is valid             */
;;;813            if (prio != OS_PRIO_SELF) {
;;;814                return (OS_PRIO_INVALID);
;;;815            }
;;;816        }
;;;817        if (p_stk_data == (OS_STK_DATA *)0) {              /* Validate 'p_stk_data'                        */
;;;818            return (OS_ERR_PDATA_NULL);
;;;819        }
;;;820    #endif
;;;821        p_stk_data->OSFree = 0;                            /* Assume failure, set to 0 size                */
000224  e3a00000          MOV      r0,#0
;;;822        p_stk_data->OSUsed = 0;
000228  e5810000          STR      r0,[r1,#0]
00022c  e1a06001          MOV      r6,r1                 ;800
000230  e5810004          STR      r0,[r1,#4]
;;;823        OS_ENTER_CRITICAL();
000234  ebfffffe          BL       OS_CPU_SR_Save
;;;824        if (prio == OS_PRIO_SELF) {                        /* See if check for SELF                        */
000238  e35400ff          CMP      r4,#0xff
;;;825            prio = OSTCBCur->OSTCBPrio;
00023c  059f1088          LDREQ    r1,|L1.716|
000240  05911000          LDREQ    r1,[r1,#0]  ; OSTCBCur
000244  05d14020          LDRBEQ   r4,[r1,#0x20]
;;;826        }
;;;827        ptcb = OSTCBPrioTbl[prio];
000248  e59f1074          LDR      r1,|L1.708|
00024c  e7911104          LDR      r1,[r1,r4,LSL #2]
;;;828        if (ptcb == (OS_TCB *)0) {                         /* Make sure task exist                         */
000250  e3510000          CMP      r1,#0
;;;829            OS_EXIT_CRITICAL();
;;;830            return (OS_TASK_NOT_EXIST);
;;;831        }
;;;832        if (ptcb == (OS_TCB *)1) {
000254  13510001          CMPNE    r1,#1
000258  1a000003          BNE      |L1.620|              ;828
;;;833            OS_EXIT_CRITICAL();
00025c  ebfffffe          BL       OS_CPU_SR_Restore
;;;834            return (OS_TASK_NOT_EXIST);
000260  e3a0000b          MOV      r0,#0xb
                  |L1.612|
000264  e8bd41f0          POP      {r4-r8,lr}
;;;835        }
;;;836        if ((ptcb->OSTCBOpt & OS_TASK_OPT_STK_CHK) == 0) { /* Make sure stack checking option is set       */
;;;837            OS_EXIT_CRITICAL();
;;;838            return (OS_TASK_OPT_ERR);
;;;839        }
;;;840        free = 0;
;;;841        size = ptcb->OSTCBStkSize;
;;;842        pchk = ptcb->OSTCBStkBottom;
;;;843        OS_EXIT_CRITICAL();
;;;844    #if OS_STK_GROWTH == 1
;;;845        while (*pchk++ == (OS_STK)0) {                    /* Compute the number of zero entries on the stk */
;;;846            free++;
;;;847        }
;;;848    #else
;;;849        while (*pchk-- == (OS_STK)0) {
;;;850            free++;
;;;851        }
;;;852    #endif
;;;853        p_stk_data->OSFree = free * sizeof(OS_STK);           /* Compute number of free bytes on the stack */
;;;854        p_stk_data->OSUsed = (size - free) * sizeof(OS_STK);  /* Compute number of bytes used on the stack */
;;;855        return (OS_NO_ERR);
;;;856    }
000268  e12fff1e          BX       lr
                  |L1.620|
00026c  e1d121b0          LDRH     r2,[r1,#0x10]         ;836
000270  e3120001          TST      r2,#1                 ;836
000274  1a000002          BNE      |L1.644|              ;836
000278  ebfffffe          BL       OS_CPU_SR_Restore     ;837
00027c  e3a00082          MOV      r0,#0x82              ;838
000280  eafffff7          B        |L1.612|              ;838
                  |L1.644|
000284  e2817008          ADD      r7,r1,#8              ;842
000288  e89700a0          LDM      r7,{r5,r7}            ;842
00028c  e3a04000          MOV      r4,#0                 ;840
000290  ebfffffe          BL       OS_CPU_SR_Restore     ;843
                  |L1.660|
000294  e4950004          LDR      r0,[r5],#4            ;845
000298  e3500000          CMP      r0,#0                 ;845
00029c  02844001          ADDEQ    r4,r4,#1              ;846
0002a0  0afffffb          BEQ      |L1.660|              ;846
0002a4  e1a00104          LSL      r0,r4,#2              ;853
0002a8  e5860000          STR      r0,[r6,#0]            ;853
0002ac  e0470004          SUB      r0,r7,r4              ;854
0002b0  e1a00100          LSL      r0,r0,#2              ;854
0002b4  e5860004          STR      r0,[r6,#4]            ;854
0002b8  e3a00000          MOV      r0,#0                 ;855
0002bc  eaffffe8          B        |L1.612|              ;855
                  |L1.704|
0002c0  00000000          DCD      OSIntNesting          ;855
                  |L1.708|
0002c4  00000000          DCD      OSTCBPrioTbl          ;855
                  |L1.712|
0002c8  00000000          DCD      OSRunning             ;855
                  |L1.716|
0002cc  00000000          DCD      OSTCBCur              ;855
                          ENDP


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品白丝在线| 不卡电影一区二区三区| 国产不卡一区视频| 在线电影院国产精品| 日韩一区欧美一区| 久久精品免费观看| 欧美午夜精品理论片a级按摩| 久久―日本道色综合久久| 亚洲国产一二三| 成a人片亚洲日本久久| 日韩精品在线网站| 日韩激情一区二区| 欧美日韩五月天| 亚洲人妖av一区二区| 国产成人亚洲精品狼色在线| 日韩美一区二区三区| 图片区小说区区亚洲影院| 99视频精品在线| 日本一区二区视频在线观看| 久草在线在线精品观看| 91精品国产福利| 婷婷六月综合网| 在线看日本不卡| 亚洲精品国产无套在线观| 99视频精品免费视频| 亚洲国产成人午夜在线一区 | 欧美挠脚心视频网站| 成人欧美一区二区三区黑人麻豆 | 97超碰欧美中文字幕| 日韩精品中文字幕一区二区三区 | 91精品国模一区二区三区| 亚洲图片欧美综合| 一本久久综合亚洲鲁鲁五月天| 中文字幕一区av| 成人ar影院免费观看视频| 1024成人网| 日本电影欧美片| 亚洲第一av色| 91精品一区二区三区在线观看| 亚洲一区二区三区中文字幕| 欧美日韩一二区| 日本美女一区二区| 久久综合色鬼综合色| 国产99久久久国产精品潘金网站| 国产欧美日韩另类视频免费观看| 成人国产精品免费观看视频| 亚洲欧美韩国综合色| 欧美亚洲国产一卡| 强制捆绑调教一区二区| 精品国精品自拍自在线| 国产精品一卡二卡| 亚洲欧美一区二区视频| 欧美日韩久久久| 国产一区二区三区综合| 最新久久zyz资源站| 欧美午夜精品久久久久久孕妇 | 欧美色成人综合| 麻豆一区二区三| 国产精品视频在线看| 欧美制服丝袜第一页| 久久成人免费网站| 一色屋精品亚洲香蕉网站| 欧美三级中文字幕在线观看| 精品一区二区成人精品| 自拍偷拍亚洲激情| 6080亚洲精品一区二区| 成人免费毛片app| 婷婷综合在线观看| 国产夜色精品一区二区av| 日本黄色一区二区| 美女mm1313爽爽久久久蜜臀| 国产精品久久久久精k8| 91精品国产综合久久小美女| 大白屁股一区二区视频| 首页欧美精品中文字幕| 日本一区二区三级电影在线观看| 欧美日韩国产一区二区三区地区| 国产激情一区二区三区四区 | 一区二区三区欧美在线观看| 666欧美在线视频| 91在线精品秘密一区二区| 日韩精品欧美精品| 日韩伦理电影网| 国产日韩欧美亚洲| 欧美一区二视频| 色哟哟一区二区在线观看| 国产成人在线观看免费网站| 日本美女视频一区二区| 亚洲中国最大av网站| 国产精品欧美综合在线| 久久综合久久综合九色| 欧美一区二区三区在线看| 在线日韩一区二区| youjizz久久| 成人夜色视频网站在线观看| 免费观看日韩av| 日韩综合小视频| 一区二区三区欧美视频| 亚洲特黄一级片| 国产精品久久久久久久午夜片| 欧美xingq一区二区| 51精品秘密在线观看| 欧美午夜影院一区| 91福利视频久久久久| 91麻豆精东视频| 国产成人亚洲综合色影视| 国精产品一区一区三区mba桃花| 日韩和的一区二区| 日韩电影在线免费看| 偷窥少妇高潮呻吟av久久免费| 亚洲一区av在线| 亚洲二区在线观看| 亚欧色一区w666天堂| 性久久久久久久| 三级在线观看一区二区| 三级一区在线视频先锋| 日韩av不卡在线观看| 免费成人av资源网| 日本欧美在线观看| 美洲天堂一区二卡三卡四卡视频| 亚洲午夜久久久久| 亚洲成人资源网| 蜜臀av性久久久久蜜臀aⅴ| 日韩成人一级大片| 激情文学综合网| 国产成人高清在线| 成人精品视频.| 在线日韩一区二区| 91精品国产高清一区二区三区蜜臀 | 日韩理论片中文av| 一区二区三区在线看| 天天综合天天综合色| 奇米一区二区三区av| 极品少妇xxxx偷拍精品少妇| 国产麻豆成人传媒免费观看| 成人av午夜电影| 91国偷自产一区二区三区成为亚洲经典| 91九色最新地址| 制服丝袜亚洲色图| 久久色中文字幕| 亚洲欧美日韩国产一区二区三区| 中文字幕日韩欧美一区二区三区| 亚洲精品中文字幕乱码三区| 婷婷激情综合网| 国产精品一区二区在线播放| 不卡的av网站| 欧美日韩国产一级| 久久奇米777| 亚洲国产人成综合网站| 精彩视频一区二区三区| 99视频超级精品| 日韩一区二区三区视频在线| 国产亚洲欧美一区在线观看| 伊人婷婷欧美激情| 久草热8精品视频在线观看| 91视视频在线直接观看在线看网页在线看| 欧美怡红院视频| 国产女人18水真多18精品一级做| 亚洲尤物在线视频观看| 国产九色精品成人porny| 色综合久久久网| 久久久久久久久一| 亚洲综合999| 成人性生交大片免费看中文| 欧美一a一片一级一片| 久久久久久久av麻豆果冻| 亚洲韩国精品一区| 成人午夜电影久久影院| 欧美一区二区福利视频| 亚洲精品网站在线观看| 国产激情偷乱视频一区二区三区 | 精品噜噜噜噜久久久久久久久试看 | 国产亚洲1区2区3区| 亚洲成人一区在线| 99久久99久久精品国产片果冻| 精品少妇一区二区三区在线播放 | 久久精品噜噜噜成人88aⅴ| 日本久久一区二区| 亚洲国产精品精华液2区45| 青娱乐精品视频| 欧美美女一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 蜜臂av日日欢夜夜爽一区| 国产宾馆实践打屁股91| 欧美一级生活片| 亚洲精品美腿丝袜| 成人性生交大片免费看中文| 精品剧情在线观看| 日韩精品久久久久久| 在线欧美一区二区| 亚洲欧洲日本在线| www.av亚洲| 国产精品久久福利| 国产成人av福利| 欧美精品一区二区三区蜜桃视频| 日韩在线播放一区二区| 欧美日韩第一区日日骚| 亚洲成av人片一区二区梦乃| 欧美一a一片一级一片| 一区二区高清视频在线观看|