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

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

?? os_task.txt

?? ATMEL ARM7 SAM64 Porting ucos / Keil ARM VER3.04。不同于其它
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.0 [Build 951] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\ULINK-RAM\Obj\os_task.o --device=DARMATS --apcs=interwork -I..\..\..\..\uCOS-II\Source -I..\..\..\..\uCOS-II\Ports\ARM\Generic\KEILRV -I.\APP -I.\BSP -IC:\DEVELOP\Keil\ARM\INC\Atmel\SAM7S ..\..\..\..\uCOS-II\Source\os_task.c]

                          ARM

                          AREA ||.text.7||, CODE, READONLY, ALIGN=2

                  OS_TaskStkClr PROC
;;;1019   {
;;;1020       if ((opt & OS_TASK_OPT_STK_CHK) != 0x0000) {       /* See if stack checking has been enabled       */
000000  e3120001          TST      r2,#1
;;;1021           if ((opt & OS_TASK_OPT_STK_CLR) != 0x0000) {   /* See if stack needs to be cleared             */
000004  13120002          TSTNE    r2,#2
;;;1022   #if OS_STK_GROWTH == 1
;;;1023               while (size > 0) {                         /* Stack grows from HIGH to LOW memory          */
;;;1024                   size--;
;;;1025                   *pbos++ = (OS_STK)0;                   /* Clear from bottom of stack and up!           */
;;;1026               }
;;;1027   #else
;;;1028               while (size > 0) {                         /* Stack grows from LOW to HIGH memory          */
;;;1029                   size--;
;;;1030                   *pbos-- = (OS_STK)0;                   /* Clear from bottom of stack and down          */
;;;1031               }
;;;1032   #endif
;;;1033           }
;;;1034       }
;;;1035   }
000008  012fff1e          BXEQ     lr
00000c  e3a02000          MOV      r2,#0
                  |L1.16|
000010  e3510000          CMP      r1,#0                 ;1023
000014  12411001          SUBNE    r1,r1,#1              ;1024
000018  14802004          STRNE    r2,[r0],#4            ;1025
00001c  1afffffb          BNE      |L1.16|               ;1025
000020  e12fff1e          BX       lr
                          ENDP

                  OSTaskCreateExt PROC
;;;297                            INT16U   opt)
;;;298    {
000024  e92d4ffe          PUSH     {r1-r11,lr}
000028  e28db030          ADD      r11,sp,#0x30
00002c  e89b0e00          LDM      r11,{r9-r11}
000030  e1a06000          MOV      r6,r0
000034  e1a07001          MOV      r7,r1
000038  e1a08002          MOV      r8,r2
00003c  e1a04003          MOV      r4,r3
;;;299        OS_STK    *psp;
;;;300        INT8U      err;
;;;301    #if OS_CRITICAL_METHOD == 3                  /* Allocate storage for CPU status register               */
;;;302        OS_CPU_SR  cpu_sr = 0;
;;;303    #endif
;;;304    
;;;305    
;;;306    
;;;307    #if OS_ARG_CHK_EN > 0
;;;308        if (prio > OS_LOWEST_PRIO) {             /* Make sure priority is within allowable range           */
;;;309            return (OS_PRIO_INVALID);
;;;310        }
;;;311    #endif
;;;312        OS_ENTER_CRITICAL();
000040  ebfffffe          BL       OS_CPU_SR_Save
;;;313        if (OSIntNesting > 0) {                  /* Make sure we don't create the task from within an ISR  */
000044  e59f1274          LDR      r1,|L1.704|
000048  e5d11000          LDRB     r1,[r1,#0]  ; OSIntNesting
00004c  e3510000          CMP      r1,#0
000050  0a000003          BEQ      |L1.100|
;;;314            OS_EXIT_CRITICAL();
000054  ebfffffe          BL       OS_CPU_SR_Restore
;;;315            return (OS_ERR_TASK_CREATE_ISR);
000058  e3a00010          MOV      r0,#0x10
                  |L1.92|
00005c  e8bd4ffe          POP      {r1-r11,lr}
;;;316        }
;;;317        if (OSTCBPrioTbl[prio] == (OS_TCB *)0) { /* Make sure task doesn't already exist at this priority  */
;;;318            OSTCBPrioTbl[prio] = (OS_TCB *)1;    /* Reserve the priority to prevent others from doing ...  */
;;;319                                                 /* ... the same thing until task is created.              */
;;;320            OS_EXIT_CRITICAL();
;;;321    
;;;322            OS_TaskStkClr(pbos, stk_size, opt);                    /* Clear the task stack (if needed)     */
;;;323    
;;;324            psp = OSTaskStkInit(task, p_arg, ptos, opt);           /* Initialize the task's stack          */
;;;325            err = OS_TCBInit(prio, psp, pbos, id, stk_size, pext, opt);
;;;326            if (err == OS_NO_ERR) {
;;;327                if (OSRunning == TRUE) {                           /* Find HPT if multitasking has started */
;;;328                    OS_Sched();
;;;329                }
;;;330            } else {
;;;331                OS_ENTER_CRITICAL();
;;;332                OSTCBPrioTbl[prio] = (OS_TCB *)0;                  /* Make this priority avail. to others  */
;;;333                OS_EXIT_CRITICAL();
;;;334            }
;;;335            return (err);
;;;336        }
;;;337        OS_EXIT_CRITICAL();
;;;338        return (OS_PRIO_EXIST);
;;;339    }
000060  e12fff1e          BX       lr
                  |L1.100|
000064  e59f5258          LDR      r5,|L1.708|           ;317
000068  e7951104          LDR      r1,[r5,r4,LSL #2]     ;317
00006c  e3510000          CMP      r1,#0                 ;317
000070  1a000021          BNE      |L1.252|              ;317
000074  e3a01001          MOV      r1,#1                 ;318
000078  e7851104          STR      r1,[r5,r4,LSL #2]     ;318
00007c  ebfffffe          BL       OS_CPU_SR_Restore     ;320
000080  e59d2040          LDR      r2,[sp,#0x40]         ;322
000084  e1a0100b          MOV      r1,r11                ;322
000088  e1a0000a          MOV      r0,r10                ;322
00008c  ebfffffe          BL       OS_TaskStkClr         ;322
000090  e59d3040          LDR      r3,[sp,#0x40]         ;324
000094  e1a02008          MOV      r2,r8                 ;324
000098  e1a01007          MOV      r1,r7                 ;324
00009c  e1a00006          MOV      r0,r6                 ;324
0000a0  ebfffffe          BL       OSTaskStkInit         ;324
0000a4  e28d303c          ADD      r3,sp,#0x3c           ;325
0000a8  e893000c          LDM      r3,{r2,r3}            ;325
0000ac  e98d000c          STMIB    sp,{r2,r3}            ;325
0000b0  e1a01000          MOV      r1,r0                 ;325
0000b4  e1a03009          MOV      r3,r9                 ;325
0000b8  e1a0200a          MOV      r2,r10                ;325
0000bc  e1a00004          MOV      r0,r4                 ;325
0000c0  e58db000          STR      r11,[sp,#0]           ;325
0000c4  ebfffffe          BL       OS_TCBInit            ;325
0000c8  e1b06000          MOVS     r6,r0                 ;325
0000cc  1a000004          BNE      |L1.228|              ;326
0000d0  e59f01f0          LDR      r0,|L1.712|           ;327
0000d4  e5d00000          LDRB     r0,[r0,#0]            ;327  ; OSRunning
0000d8  e3500001          CMP      r0,#1                 ;327
0000dc  0bfffffe          BLEQ     OS_Sched              ;328
0000e0  ea000003          B        |L1.244|              ;328
                  |L1.228|
0000e4  ebfffffe          BL       OS_CPU_SR_Save        ;331
0000e8  e3a01000          MOV      r1,#0                 ;332
0000ec  e7851104          STR      r1,[r5,r4,LSL #2]     ;332
0000f0  ebfffffe          BL       OS_CPU_SR_Restore     ;333
                  |L1.244|
0000f4  e1a00006          MOV      r0,r6                 ;335
0000f8  eaffffd7          B        |L1.92|               ;335
                  |L1.252|
0000fc  ebfffffe          BL       OS_CPU_SR_Restore     ;337
000100  e3a00028          MOV      r0,#0x28              ;338
000104  eaffffd4          B        |L1.92|               ;338
                          ENDP

                  OSTaskNameGet PROC
;;;588    INT8U  OSTaskNameGet (INT8U prio, INT8U *pname, INT8U *err)
;;;589    {
000108  e92d41f0          PUSH     {r4-r8,lr}
00010c  e1a06000          MOV      r6,r0
000110  e1a07001          MOV      r7,r1
000114  e1a05002          MOV      r5,r2
;;;590        OS_TCB    *ptcb;
;;;591        INT8U      len;
;;;592    #if OS_CRITICAL_METHOD == 3                              /* Allocate storage for CPU status register   */
;;;593        OS_CPU_SR  cpu_sr = 0;
;;;594    #endif
;;;595    
;;;596    
;;;597    
;;;598    #if OS_ARG_CHK_EN > 0
;;;599        if (err == (INT8U *)0) {                             /* Validate 'err'                             */
;;;600            return (0);
;;;601        }
;;;602        if (prio > OS_LOWEST_PRIO) {                         /* Task priority valid ?                      */
;;;603            if (prio != OS_PRIO_SELF) {
;;;604                *err = OS_PRIO_INVALID;                      /* No                                         */
;;;605                return (0);
;;;606            }
;;;607        }
;;;608        if (pname == (INT8U *)0) {                             /* Is 'pname' a NULL pointer?                */
;;;609            *err = OS_ERR_PNAME_NULL;						  /* Yes                                       */
;;;610            return (0);
;;;611        }
;;;612    #endif
;;;613        OS_ENTER_CRITICAL();
000118  ebfffffe          BL       OS_CPU_SR_Save
;;;614        if (prio == OS_PRIO_SELF) {                           /* See if caller desires it's own name       */
00011c  e35600ff          CMP      r6,#0xff
000120  e1a04000          MOV      r4,r0                 ;613
;;;615            prio = OSTCBCur->OSTCBPrio;
000124  059f01a0          LDREQ    r0,|L1.716|
000128  05900000          LDREQ    r0,[r0,#0]  ; OSTCBCur
00012c  05d06020          LDRBEQ   r6,[r0,#0x20]
;;;616        }
;;;617        ptcb = OSTCBPrioTbl[prio];
000130  e59f018c          LDR      r0,|L1.708|
000134  e7900106          LDR      r0,[r0,r6,LSL #2]
000138  e3a0600b          MOV      r6,#0xb
;;;618        if (ptcb == (OS_TCB *)0) {                            /* Does task exist?                          */
00013c  e3500000          CMP      r0,#0
;;;619            OS_EXIT_CRITICAL();                               /* No                                        */
;;;620            *err = OS_TASK_NOT_EXIST;
;;;621            return (0);
;;;622        }
;;;623        if (ptcb == (OS_TCB *)1) {                            /* Task assigned to a Mutex?                 */
000140  13500001          CMPNE    r0,#1
000144  1a000005          BNE      |L1.352|              ;618
;;;624            OS_EXIT_CRITICAL();                               /* Yes                                       */
000148  e1a00004          MOV      r0,r4
00014c  ebfffffe          BL       OS_CPU_SR_Restore
;;;625            *err = OS_TASK_NOT_EXIST;
;;;626            return (0);
000150  e3a00000          MOV      r0,#0
000154  e5c56000          STRB     r6,[r5,#0]            ;625
                  |L1.344|
000158  e8bd41f0          POP      {r4-r8,lr}
;;;627        }
;;;628        len  = OS_StrCopy(pname, ptcb->OSTCBTaskName);        /* Yes, copy name from TCB                   */
;;;629        OS_EXIT_CRITICAL();
;;;630        *err = OS_NO_ERR;
;;;631        return (len);
;;;632    }
00015c  e12fff1e          BX       lr
                  |L1.352|
000160  e280103c          ADD      r1,r0,#0x3c           ;628
000164  e1a00007          MOV      r0,r7                 ;628
000168  ebfffffe          BL       OS_StrCopy            ;628
00016c  e1a06000          MOV      r6,r0                 ;628

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
樱花影视一区二区| 丁香一区二区三区| 亚洲欧美色综合| 久久久久久久性| 久久久久久夜精品精品免费| 日韩视频一区二区| 日韩欧美在线影院| 欧美一区二区在线视频| 欧美精品高清视频| 日韩精品专区在线影院重磅| 久久众筹精品私拍模特| 久久综合中文字幕| 国产精品福利在线播放| 亚洲精选一二三| 亚洲成人在线免费| 麻豆国产精品一区二区三区 | 日韩欧美www| 精品乱码亚洲一区二区不卡| 精品久久久久久最新网址| 久久久久久日产精品| ...xxx性欧美| 亚洲成人av一区二区| 紧缚奴在线一区二区三区| 丁香六月综合激情| 日本道在线观看一区二区| 欧美精品日韩精品| 国产日韩欧美一区二区三区综合| 日韩一区欧美小说| 麻豆免费精品视频| 色综合久久久久久久久久久| 欧美日韩免费观看一区二区三区| 日韩视频123| 中文字幕一区二区三区四区| 石原莉奈在线亚洲二区| 丁香婷婷综合激情五月色| 欧美最猛黑人xxxxx猛交| 欧美一区二区三区日韩| 最新日韩av在线| 久久不见久久见免费视频7| 91在线丨porny丨国产| 日韩视频一区在线观看| 亚洲精品菠萝久久久久久久| 六月婷婷色综合| 91福利社在线观看| 国产欧美一区在线| 青娱乐精品在线视频| 91丝袜美女网| 国产人成亚洲第一网站在线播放| 一区二区三区四区激情| 国产精品一二一区| 日韩一本二本av| 亚洲卡通动漫在线| 不卡一区二区在线| 26uuu亚洲综合色| 日韩一区精品字幕| av一区二区不卡| 久久久久久久久久久久久久久99 | 精品夜夜嗨av一区二区三区| 91黄色免费网站| 国产精品麻豆欧美日韩ww| 蜜臀国产一区二区三区在线播放| 91蜜桃在线免费视频| 国产婷婷精品av在线| 老司机免费视频一区二区| 欧美日本视频在线| 一区二区日韩电影| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 欧美96一区二区免费视频| 色先锋资源久久综合| 中文字幕一区二区三| 成人丝袜视频网| 中文字幕免费不卡| 国产69精品久久久久毛片 | 欧美国产精品一区二区| 国产精品亚洲人在线观看| 日韩一区二区三区免费看 | 久久精品亚洲乱码伦伦中文| 久久99国产精品免费| 欧美一区二区精品久久911| 夜夜嗨av一区二区三区| 欧洲精品在线观看| 亚洲成人av免费| 7777精品伊人久久久大香线蕉| 亚洲第一福利视频在线| 欧美理论在线播放| 毛片av一区二区| 久久久噜噜噜久久人人看| 国产一区二区三区免费| 国产精品污网站| 99re视频精品| 日韩精品一二三四| 欧美精品一区二| 美女国产一区二区| 欧美激情中文字幕一区二区| 91在线观看成人| 午夜日韩在线电影| 26uuu精品一区二区| 成人性生交大片免费看视频在线 | 亚洲www啪成人一区二区麻豆| 6080yy午夜一二三区久久| 午夜视频一区二区三区| 欧美情侣在线播放| 国产另类ts人妖一区二区| 国产女人18水真多18精品一级做 | 3d动漫精品啪啪1区2区免费| 久草热8精品视频在线观看| 中文字幕高清一区| 91久久精品一区二区三区| 免费日韩伦理电影| 国产精品色哟哟| 欧美久久久久久久久| 国产精品一卡二卡在线观看| 亚洲精选免费视频| 2021国产精品久久精品| 欧洲视频一区二区| 国产精品一区二区久激情瑜伽 | 久久国产精品99精品国产| 国产精品久久久久7777按摩| 777亚洲妇女| jizz一区二区| 开心九九激情九九欧美日韩精美视频电影 | 97超碰欧美中文字幕| 免费人成精品欧美精品| 国产精品福利一区| 精品国产a毛片| 欧美日韩中文精品| 不卡av在线免费观看| 久久精品国产77777蜜臀| 一区二区成人在线| 国产精品少妇自拍| 精品成人佐山爱一区二区| 在线一区二区视频| 成人精品小蝌蚪| 久久电影国产免费久久电影| 亚洲地区一二三色| 亚洲欧美国产高清| 国产精品理论片在线观看| 久久综合久久综合久久| 欧美一级片免费看| 欧美另类久久久品| 在线观看免费视频综合| 色综合中文字幕国产| 六月丁香婷婷色狠狠久久| 五月天久久比比资源色| 亚洲国产三级在线| 一区二区三区资源| 亚洲欧美aⅴ...| 亚洲欧美日韩中文字幕一区二区三区| 中文字幕国产一区| 亚洲欧洲日本在线| 国产欧美精品一区二区色综合朱莉| 日韩视频免费观看高清完整版 | 欧美丝袜丝交足nylons图片| 色综合久久久久综合体| 成人av片在线观看| 97精品国产97久久久久久久久久久久| 成人自拍视频在线观看| 成人h版在线观看| 99精品偷自拍| 色国产综合视频| 欧美日韩一区二区三区在线| 欧美日韩一区中文字幕| 欧美一区二区在线视频| 欧美一级欧美三级在线观看| 日韩欧美精品在线| 久久精品日产第一区二区三区高清版 | 蜜臀a∨国产成人精品| 久久不见久久见免费视频7| 国产在线不卡视频| 波多野结衣在线aⅴ中文字幕不卡| 波多野结衣91| 欧美影片第一页| 日韩欧美国产综合| 久久综合久久鬼色| 亚洲人成网站在线| 日韩高清一区二区| 国产成人av网站| 91国偷自产一区二区使用方法| 欧美日韩一区二区三区不卡| 日韩小视频在线观看专区| 久久精品亚洲精品国产欧美kt∨| 国产精品成人免费精品自在线观看| 伊人色综合久久天天| 免费三级欧美电影| 99久久婷婷国产精品综合| 欧美日韩中文精品| 久久久99久久精品欧美| 一区二区三区成人在线视频| 日本亚洲一区二区| 9久草视频在线视频精品| 91精品国产色综合久久ai换脸 | 欧美一区二区免费| 国产精品私人自拍| 日本最新不卡在线| 99久久精品国产观看| 精品乱码亚洲一区二区不卡| 亚洲女人****多毛耸耸8| 精品一区二区三区免费| 欧美在线视频日韩| 国产欧美一区二区精品性色|