亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日本道色综合久久| 精品国产乱码久久久久久浪潮| 国产麻豆91精品| 捆绑紧缚一区二区三区视频| 日本午夜精品视频在线观看| 美女视频免费一区| 国产精品一区免费视频| 国产一区二区三区免费看| 精品一区二区三区在线播放视频 | 欧美激情在线看| 国产午夜精品久久| 中文字幕av免费专区久久| 国产精品久久久久久久久免费桃花 | 成人黄页毛片网站| 99精品欧美一区二区三区小说| av资源网一区| 色噜噜夜夜夜综合网| 欧美亚洲国产一区在线观看网站| 91国产免费观看| 欧美日韩一区二区三区免费看| 欧美日韩国产a| 精品国产乱码久久| 中文子幕无线码一区tr| 亚洲人成亚洲人成在线观看图片 | 卡一卡二国产精品| 国产在线看一区| 成人午夜在线视频| 在线观看成人免费视频| 欧美一级搡bbbb搡bbbb| 久久久91精品国产一区二区精品| 国产精品毛片a∨一区二区三区| 一区二区三区欧美视频| 免费高清在线一区| 成人激情动漫在线观看| 欧美军同video69gay| 精品国产乱码久久久久久图片| 亚洲国产经典视频| 亚洲一区二区三区不卡国产欧美| 蜜臀av亚洲一区中文字幕| 东方欧美亚洲色图在线| 欧美日韩免费观看一区三区| 欧美成人乱码一区二区三区| 一区二区中文字幕在线| 午夜精品久久久久久久99樱桃| 国产酒店精品激情| 欧美在线影院一区二区| 2020日本不卡一区二区视频| 亚洲精品国产a| 韩国欧美国产1区| 91久久线看在观草草青青| 日韩精品一区二区三区四区视频| 最新久久zyz资源站| 免费xxxx性欧美18vr| 99久久综合国产精品| 欧美一区午夜视频在线观看 | 老司机精品视频一区二区三区| 不卡视频免费播放| 制服.丝袜.亚洲.中文.综合| 亚洲欧洲日本在线| 久久国产视频网| 91九色02白丝porn| 久久精品人人爽人人爽| 欧美aaaaaa午夜精品| 色一情一乱一乱一91av| 久久综合久久综合久久综合| 亚洲成人福利片| 成人黄色免费短视频| 精品成人一区二区三区四区| 亚洲大型综合色站| 成人app网站| 26uuu亚洲综合色欧美| 丝袜亚洲另类丝袜在线| 91丨porny丨国产| 国产亚洲一区字幕| 免费观看91视频大全| 欧美午夜精品久久久久久孕妇| 国产精品污www在线观看| 韩国av一区二区三区在线观看| 欧美浪妇xxxx高跟鞋交| 一区二区在线观看免费视频播放| 粉嫩高潮美女一区二区三区| 日韩美女视频一区二区在线观看| 亚洲精品一二三| 91免费视频观看| 国产精品国产三级国产专播品爱网| 久久av中文字幕片| 欧美电视剧在线看免费| 丝袜美腿亚洲综合| 欧美三级视频在线| 亚洲一区二区精品久久av| 99re热视频这里只精品| 国产精品丝袜久久久久久app| 国产激情91久久精品导航| 欧美大尺度电影在线| 美女一区二区久久| 精品少妇一区二区| 国产精品自在在线| 久久综合九色综合欧美亚洲| 免费观看日韩电影| 日韩精品最新网址| 国产在线观看一区二区| 久久综合五月天婷婷伊人| 久久不见久久见中文字幕免费| 777欧美精品| 奇米色一区二区三区四区| 欧美一区二区三区四区高清 | 欧美色手机在线观看| 尤物在线观看一区| 欧美综合天天夜夜久久| 亚洲国产欧美另类丝袜| 欧美日韩亚洲高清一区二区| 日韩国产在线观看| 日韩欧美国产综合| 国产精品亚洲а∨天堂免在线| 国产日韩欧美制服另类| 不卡免费追剧大全电视剧网站| 中文字幕亚洲电影| 91福利社在线观看| 亚洲高清不卡在线| 精品久久久久久亚洲综合网 | 日韩欧美成人午夜| 国产一区二区不卡老阿姨| 中日韩av电影| 欧美艳星brazzers| 麻豆免费精品视频| 国产三级久久久| 一本久久综合亚洲鲁鲁五月天| 亚洲成人综合在线| 精品久久国产97色综合| 国产成人av电影在线观看| 日韩一区中文字幕| 制服丝袜成人动漫| 国产成人亚洲综合a∨婷婷图片| 综合中文字幕亚洲| 欧美一区二区视频在线观看2022| 国模套图日韩精品一区二区| 中文字幕av不卡| 欧美日韩五月天| 国产麻豆成人精品| 一区二区三区在线观看网站| 欧美剧情片在线观看| 国产一区二区成人久久免费影院| 亚洲人成在线观看一区二区| 91精品国产综合久久精品| 国产成人一区在线| 亚洲成人动漫在线免费观看| 久久蜜桃av一区精品变态类天堂| 91麻豆成人久久精品二区三区| 天天av天天翘天天综合网色鬼国产| 欧美va亚洲va香蕉在线| 日本乱人伦一区| 老鸭窝一区二区久久精品| 日韩理论在线观看| 日韩女优av电影| 在线欧美日韩国产| 国产成人综合在线播放| 亚洲高清免费观看| 国产精品色呦呦| 日韩你懂的电影在线观看| 色综合久久久久网| 久久99热这里只有精品| 夜夜嗨av一区二区三区中文字幕 | 亚洲va在线va天堂| 国产亚洲短视频| 3d成人h动漫网站入口| 91网站最新地址| 国产精品系列在线观看| 偷拍一区二区三区四区| 亚洲欧洲精品天堂一级| 精品久久久久久久久久久久久久久 | 91精品欧美久久久久久动漫| 99久久伊人精品| 国产乱码精品一区二区三区忘忧草 | 欧美一区日本一区韩国一区| 成人免费毛片片v| 另类综合日韩欧美亚洲| 亚洲一区二区偷拍精品| 中文字幕在线一区免费| 精品国产电影一区二区| 在线观看一区二区视频| k8久久久一区二区三区| 精品制服美女久久| 水野朝阳av一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品996| 久久99国产精品尤物| 五月婷婷激情综合| 一区二区三区高清在线| 国产精品污www在线观看| 久久久久久久久久久久久女国产乱 | 91在线观看高清| 国产精品一级在线| 国内精品免费**视频| 日本最新不卡在线| 婷婷国产v国产偷v亚洲高清| 亚洲一区免费观看| 一区二区三区丝袜| 亚洲一区电影777| 一区二区三区影院| 亚洲美腿欧美偷拍|