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

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

?? os_flag.txt

?? ucos2.86版本結合STM板極支持包
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\os_flag.o --depend=.\rvmdk\os_flag.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\uCOS-II\Source\os_flag.c]
                          THUMB

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

                  OSFlagAccept PROC
;;;92     OS_FLAGS  OSFlagAccept (OS_FLAG_GRP *pgrp, OS_FLAGS flags, INT8U wait_type, INT8U *perr)
;;;93     {
000000  e92de92d          PUSH     {r4-r8,lr}
000004  4605              MOV      r5,r0
000006  460f              MOV      r7,r1
000008  4614              MOV      r4,r2
00000a  461e              MOV      r6,r3
;;;94         OS_FLAGS      flags_rdy;
;;;95         INT8U         result;
;;;96         BOOLEAN       consume;
;;;97     #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
;;;98         OS_CPU_SR     cpu_sr = 0;
;;;99     #endif
;;;100    
;;;101    
;;;102    
;;;103    #if OS_ARG_CHK_EN > 0
;;;104        if (perr == (INT8U *)0) {                              /* Validate 'perr'                          */
00000c  b916              CBNZ     r6,|L1.20|
;;;105            return ((OS_FLAGS)0);
00000e  2000              MOVS     r0,#0
000010  e8bde8bd          POP      {r4-r8,pc}
                  |L1.20|
;;;106        }
;;;107        if (pgrp == (OS_FLAG_GRP *)0) {                        /* Validate 'pgrp'                          */
000014  b925              CBNZ     r5,|L1.32|
;;;108            *perr = OS_ERR_FLAG_INVALID_PGRP;
000016  206e              MOVS     r0,#0x6e
000018  7030              STRB     r0,[r6,#0]
;;;109            return ((OS_FLAGS)0);
00001a  2000              MOVS     r0,#0
00001c  e8bde8bd          POP      {r4-r8,pc}
                  |L1.32|
;;;110        }
;;;111    #endif
;;;112        if (pgrp->OSFlagType != OS_EVENT_TYPE_FLAG) {          /* Validate event block type                */
000020  7828              LDRB     r0,[r5,#0]
000022  2805              CMP      r0,#5
000024  d004              BEQ      |L1.48|
;;;113            *perr = OS_ERR_EVENT_TYPE;
000026  2001              MOVS     r0,#1
000028  7030              STRB     r0,[r6,#0]
;;;114            return ((OS_FLAGS)0);
00002a  2000              MOVS     r0,#0
00002c  e8bde8bd          POP      {r4-r8,pc}
                  |L1.48|
;;;115        }
;;;116        result = (INT8U)(wait_type & OS_FLAG_CONSUME);
000030  f004f004          AND      r0,r4,#0x80
;;;117        if (result != (INT8U)0) {                              /* See if we need to consume the flags      */
000034  b120              CBZ      r0,|L1.64|
;;;118            wait_type &= ~OS_FLAG_CONSUME;
000036  f024f024          BIC      r4,r4,#0x80
;;;119            consume    = OS_TRUE;
00003a  f04ff04f          MOV      r8,#1
00003e  e001              B        |L1.68|
                  |L1.64|
;;;120        } else {
;;;121            consume    = OS_FALSE;
000040  f04ff04f          MOV      r8,#0
                  |L1.68|
;;;122        }
;;;123    /*$PAGE*/
;;;124        *perr = OS_ERR_NONE;                                   /* Assume NO error until proven otherwise.  */
000044  2000              MOVS     r0,#0
000046  7030              STRB     r0,[r6,#0]
;;;125        OS_ENTER_CRITICAL();
000048  f7fff7ff          BL       OS_CPU_SR_Save
;;;126        switch (wait_type) {
00004c  2270              MOVS     r2,#0x70
00004e  b314              CBZ      r4,|L1.150|
000050  2c01              CMP      r4,#1
000052  d02f              BEQ      |L1.180|
000054  2c02              CMP      r4,#2
000056  d00b              BEQ      |L1.112|
000058  2c03              CMP      r4,#3
00005a  d139              BNE      |L1.208|
;;;127            case OS_FLAG_WAIT_SET_ALL:                         /* See if all required flags are set        */
;;;128                 flags_rdy = (OS_FLAGS)(pgrp->OSFlagFlags & flags);     /* Extract only the bits we want   */
;;;129                 if (flags_rdy == flags) {                     /* Must match ALL the bits that we want     */
;;;130                     if (consume == OS_TRUE) {                 /* See if we need to consume the flags      */
;;;131                         pgrp->OSFlagFlags &= ~flags_rdy;      /* Clear ONLY the flags that we wanted      */
;;;132                     }
;;;133                 } else {
;;;134                     *perr = OS_ERR_FLAG_NOT_RDY;
;;;135                 }
;;;136                 OS_EXIT_CRITICAL();
;;;137                 break;
;;;138    
;;;139            case OS_FLAG_WAIT_SET_ANY:
;;;140                 flags_rdy = (OS_FLAGS)(pgrp->OSFlagFlags & flags);     /* Extract only the bits we want   */
00005c  8929              LDRH     r1,[r5,#8]
00005e  ea01ea01          AND      r4,r1,r7
;;;141                 if (flags_rdy != (OS_FLAGS)0) {               /* See if any flag set                      */
000062  b1a4              CBZ      r4,|L1.142|
000064  f1b8f1b8          CMP      r8,#1
;;;142                     if (consume == OS_TRUE) {                 /* See if we need to consume the flags      */
000068  d112              BNE      |L1.144|
00006a  43a1              BICS     r1,r1,r4
00006c  8129              STRH     r1,[r5,#8]
;;;143                         pgrp->OSFlagFlags &= ~flags_rdy;      /* Clear ONLY the flags that we got         */
00006e  e00f              B        |L1.144|
                  |L1.112|
000070  8929              LDRH     r1,[r5,#8]
000072  ea01ea01          AND      r4,r1,r7
000076  42bc              CMP      r4,r7
000078  d105              BNE      |L1.134|
00007a  f1b8f1b8          CMP      r8,#1
00007e  d103              BNE      |L1.136|
000080  43a1              BICS     r1,r1,r4
000082  8129              STRH     r1,[r5,#8]
000084  e000              B        |L1.136|
                  |L1.134|
000086  7032              STRB     r2,[r6,#0]
                  |L1.136|
000088  f7fff7ff          BL       OS_CPU_SR_Restore
00008c  e025              B        |L1.218|
                  |L1.142|
;;;144                     }
;;;145                 } else {
;;;146                     *perr = OS_ERR_FLAG_NOT_RDY;
00008e  7032              STRB     r2,[r6,#0]
                  |L1.144|
;;;147                 }
;;;148                 OS_EXIT_CRITICAL();
000090  f7fff7ff          BL       OS_CPU_SR_Restore
;;;149                 break;
000094  e021              B        |L1.218|
                  |L1.150|
;;;150    
;;;151    #if OS_FLAG_WAIT_CLR_EN > 0
;;;152            case OS_FLAG_WAIT_CLR_ALL:                         /* See if all required flags are cleared    */
;;;153                 flags_rdy = (OS_FLAGS)(~pgrp->OSFlagFlags & flags);  /* Extract only the bits we want     */
000096  8929              LDRH     r1,[r5,#8]
000098  ea27ea27          BIC      r4,r7,r1
;;;154                 if (flags_rdy == flags) {                     /* Must match ALL the bits that we want     */
00009c  42bc              CMP      r4,r7
00009e  d105              BNE      |L1.172|
;;;155                     if (consume == OS_TRUE) {                 /* See if we need to consume the flags      */
0000a0  f1b8f1b8          CMP      r8,#1
0000a4  d103              BNE      |L1.174|
;;;156                         pgrp->OSFlagFlags |= flags_rdy;       /* Set ONLY the flags that we wanted        */
0000a6  4321              ORRS     r1,r1,r4
0000a8  8129              STRH     r1,[r5,#8]
0000aa  e000              B        |L1.174|
                  |L1.172|
;;;157                     }
;;;158                 } else {
;;;159                     *perr = OS_ERR_FLAG_NOT_RDY;
0000ac  7032              STRB     r2,[r6,#0]
                  |L1.174|
;;;160                 }
;;;161                 OS_EXIT_CRITICAL();
0000ae  f7fff7ff          BL       OS_CPU_SR_Restore
;;;162                 break;
0000b2  e012              B        |L1.218|
                  |L1.180|
;;;163    
;;;164            case OS_FLAG_WAIT_CLR_ANY:
;;;165                 flags_rdy = (OS_FLAGS)(~pgrp->OSFlagFlags & flags); /* Extract only the bits we want      */
0000b4  8929              LDRH     r1,[r5,#8]
0000b6  ea27ea27          BIC      r4,r7,r1
;;;166                 if (flags_rdy != (OS_FLAGS)0) {               /* See if any flag cleared                  */
0000ba  b12c              CBZ      r4,|L1.200|
;;;167                     if (consume == OS_TRUE) {                 /* See if we need to consume the flags      */
0000bc  f1b8f1b8          CMP      r8,#1
0000c0  d103              BNE      |L1.202|
;;;168                         pgrp->OSFlagFlags |= flags_rdy;       /* Set ONLY the flags that we got           */
0000c2  4321              ORRS     r1,r1,r4
0000c4  8129              STRH     r1,[r5,#8]
0000c6  e000              B        |L1.202|
                  |L1.200|
;;;169                     }
;;;170                 } else {
;;;171                     *perr = OS_ERR_FLAG_NOT_RDY;
0000c8  7032              STRB     r2,[r6,#0]
                  |L1.202|
;;;172                 }
;;;173                 OS_EXIT_CRITICAL();
0000ca  f7fff7ff          BL       OS_CPU_SR_Restore
;;;174                 break;
0000ce  e004              B        |L1.218|
                  |L1.208|
;;;175    #endif
;;;176    
;;;177            default:
;;;178                 OS_EXIT_CRITICAL();
0000d0  f7fff7ff          BL       OS_CPU_SR_Restore
;;;179                 flags_rdy = (OS_FLAGS)0;
0000d4  2400              MOVS     r4,#0
;;;180                 *perr     = OS_ERR_FLAG_WAIT_TYPE;
0000d6  206f              MOVS     r0,#0x6f
0000d8  7030              STRB     r0,[r6,#0]
                  |L1.218|
;;;181                 break;
;;;182        }
;;;183        return (flags_rdy);
0000da  4620              MOV      r0,r4
;;;184    }
0000dc  e8bde8bd          POP      {r4-r8,pc}
;;;185    #endif
                          ENDP

                  OSFlagCreate PROC
;;;208    OS_FLAG_GRP  *OSFlagCreate (OS_FLAGS flags, INT8U *perr)
;;;209    {
0000e0  b570              PUSH     {r4-r6,lr}
0000e2  4606              MOV      r6,r0
0000e4  460d              MOV      r5,r1
;;;210        OS_FLAG_GRP *pgrp;
;;;211    #if OS_CRITICAL_METHOD == 3                         /* Allocate storage for CPU status register        */
;;;212        OS_CPU_SR    cpu_sr = 0;
;;;213    #endif
;;;214    
;;;215    
;;;216    
;;;217    #if OS_ARG_CHK_EN > 0
;;;218        if (perr == (INT8U *)0) {                       /* Validate 'perr'                                 */
0000e6  b90d              CBNZ     r5,|L1.236|
;;;219            return ((OS_FLAG_GRP *)0);
0000e8  2000              MOVS     r0,#0
;;;220        }
;;;221    #endif
;;;222        if (OSIntNesting > 0) {                         /* See if called from ISR ...                      */
;;;223            *perr = OS_ERR_CREATE_ISR;                  /* ... can't CREATE from an ISR                    */
;;;224            return ((OS_FLAG_GRP *)0);
;;;225        }
;;;226        OS_ENTER_CRITICAL();
;;;227        pgrp = OSFlagFreeList;                          /* Get next free event flag                        */
;;;228        if (pgrp != (OS_FLAG_GRP *)0) {                 /* See if we have event flag groups available      */
;;;229                                                        /* Adjust free list                                */
;;;230            OSFlagFreeList       = (OS_FLAG_GRP *)OSFlagFreeList->OSFlagWaitList;
;;;231            pgrp->OSFlagType     = OS_EVENT_TYPE_FLAG;  /* Set to event flag group type                    */
;;;232            pgrp->OSFlagFlags    = flags;               /* Set to desired initial value                    */
;;;233            pgrp->OSFlagWaitList = (void *)0;           /* Clear list of tasks waiting on flags            */
;;;234    #if OS_FLAG_NAME_SIZE > 1
;;;235            pgrp->OSFlagName[0]  = '?';
;;;236            pgrp->OSFlagName[1]  = OS_ASCII_NUL;
;;;237    #endif
;;;238            OS_EXIT_CRITICAL();
;;;239            *perr                = OS_ERR_NONE;
;;;240        } else {
;;;241            OS_EXIT_CRITICAL();
;;;242            *perr                = OS_ERR_FLAG_GRP_DEPLETED;
;;;243        }
;;;244        return (pgrp);                                  /* Return pointer to event flag group              */
;;;245    }
0000ea  bd70              POP      {r4-r6,pc}
                  |L1.236|
0000ec  48f9              LDR      r0,|L1.1236|
0000ee  7800              LDRB     r0,[r0,#0]  ; OSIntNesting
0000f0  b118              CBZ      r0,|L1.250|
0000f2  2010              MOVS     r0,#0x10
0000f4  7028              STRB     r0,[r5,#0]
0000f6  2000              MOVS     r0,#0
0000f8  bd70              POP      {r4-r6,pc}
                  |L1.250|
0000fa  f7fff7ff          BL       OS_CPU_SR_Save
0000fe  49f6              LDR      r1,|L1.1240|
000100  680c              LDR      r4,[r1,#0]  ; OSFlagFreeList

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
无吗不卡中文字幕| 国产99久久久久| 精品亚洲免费视频| proumb性欧美在线观看| 在线欧美小视频| 欧美精品一区二区蜜臀亚洲| 国产精品美女久久福利网站| 亚洲宅男天堂在线观看无病毒| 综合色中文字幕| 久久99精品视频| 色综合久久久久久久久| 日韩视频免费观看高清完整版在线观看 | 欧美一区二区免费观在线| 久久久www成人免费无遮挡大片| 亚洲婷婷综合色高清在线| 青青草国产成人av片免费| 大胆欧美人体老妇| 日韩欧美一级二级三级| 亚洲精品成人少妇| 国产精品亚洲午夜一区二区三区 | 香蕉av福利精品导航| 亚洲欧美偷拍三级| 国产自产视频一区二区三区 | 韩国精品免费视频| 欧美网站一区二区| 日韩毛片精品高清免费| 国产原创一区二区三区| 91.com在线观看| 夜夜亚洲天天久久| 粉嫩av亚洲一区二区图片| 日韩三级高清在线| 天堂一区二区在线| 欧美自拍偷拍一区| 精品国产免费人成在线观看| 一区二区三区中文免费| 成人av免费在线播放| 亚洲精品一区二区三区蜜桃下载| 午夜在线电影亚洲一区| 91免费观看在线| 国产精品视频九色porn| 国产在线精品一区二区不卡了| 欧美精品 日韩| 天天色 色综合| 欧美午夜免费电影| 国产精品成人免费精品自在线观看 | 久久久久久亚洲综合| 日韩不卡一二三区| 色综合天天做天天爱| 欧美高清在线视频| 高清视频一区二区| 中文字幕av一区二区三区高| 韩国av一区二区三区在线观看| 欧美区一区二区三区| 午夜电影一区二区三区| 欧美精品久久久久久久久老牛影院| 亚洲一区二区三区视频在线| 丁香五精品蜜臀久久久久99网站 | 成人性生交大片免费| 91精品国产福利| 麻豆视频观看网址久久| 日韩午夜在线观看| 精品一区二区在线播放| 久久精品日产第一区二区三区高清版 | 久久久国际精品| 成人免费高清视频| 伊人开心综合网| 欧美日韩精品欧美日韩精品一综合| 日韩中文字幕区一区有砖一区 | 精品一区二区在线播放| 久久久久久久久久久久电影| 成人亚洲一区二区一| 一区二区三区久久| 欧美无乱码久久久免费午夜一区| 日韩黄色一级片| 久久女同性恋中文字幕| 91在线视频免费91| 亚洲国产cao| 精品福利一区二区三区免费视频| 国产精品99久久久久| 亚洲天堂精品在线观看| 欧美日本一道本| 日韩精品1区2区3区| 欧美成人一区二区三区片免费| 麻豆精品国产传媒mv男同 | 国产尤物一区二区在线| 亚洲三级视频在线观看| 5858s免费视频成人| 免费欧美高清视频| 国产精品久久久久9999吃药| 欧美裸体bbwbbwbbw| 国产成人亚洲综合a∨猫咪| 亚洲女性喷水在线观看一区| 日韩一区二区不卡| 91在线你懂得| 美女视频网站久久| 亚洲欧美日韩国产中文在线| 精品va天堂亚洲国产| 色婷婷一区二区三区四区| 午夜精品一区在线观看| 国产欧美综合在线观看第十页| 欧美午夜片在线观看| 麻豆精品一区二区三区| 成人免费小视频| 日韩精品一区二区三区在线播放 | 婷婷夜色潮精品综合在线| 欧美国产激情一区二区三区蜜月| 69精品人人人人| 色屁屁一区二区| 国产91清纯白嫩初高中在线观看| 日韩中文字幕1| 亚洲精品福利视频网站| 久久久九九九九| 日韩欧美在线综合网| 欧美体内she精高潮| 色欧美乱欧美15图片| 大白屁股一区二区视频| 强制捆绑调教一区二区| 亚洲欧美日韩在线播放| 国产精品久99| 亚洲国产成人在线| 久久中文字幕电影| 欧美va天堂va视频va在线| 欧美精品乱人伦久久久久久| 色婷婷激情一区二区三区| av网站免费线看精品| 国产宾馆实践打屁股91| 蜜桃久久久久久久| 日韩av网站免费在线| 午夜精品爽啪视频| 午夜视频一区在线观看| 亚洲成人激情社区| 爽好多水快深点欧美视频| 亚洲超碰97人人做人人爱| 亚洲国产精品久久艾草纯爱 | 亚洲最色的网站| 亚洲精品伦理在线| 国产精品久久久久一区二区三区共| 欧美肥妇free| 欧洲一区二区三区在线| 欧美综合一区二区| 91麻豆精品在线观看| 色又黄又爽网站www久久| 91久久奴性调教| 欧美影院一区二区三区| 欧美猛男gaygay网站| 欧美精品日韩一区| 日韩精品中午字幕| 国产欧美综合在线| 日韩理论片在线| 亚洲国产一二三| 日韩极品在线观看| 成人av综合在线| 欧美一级爆毛片| 亚洲同性gay激情无套| 美女视频黄久久| 99久久免费国产| 欧美不卡123| 一区二区不卡在线播放 | 国产在线播精品第三| 成人免费av在线| 日韩精品一区二区三区中文精品| 中文字幕一区二区三区av| 免费成人结看片| 色乱码一区二区三区88| 久久久亚洲欧洲日产国码αv| 亚洲黄色在线视频| 国产69精品一区二区亚洲孕妇| 欧美日韩精品一区二区在线播放| 久久精品一二三| 琪琪久久久久日韩精品| 日本伦理一区二区| 国产欧美日韩不卡免费| 免费高清不卡av| 欧美日韩在线一区二区| 国产精品免费久久久久| 精品一区二区三区免费视频| 欧美在线观看视频一区二区| 国产精品女上位| 国产精品99久久久久久似苏梦涵 | 日韩国产精品大片| 欧美中文字幕一区| 亚洲少妇30p| 成人av小说网| 国产精品久久久久久户外露出 | 日本成人中文字幕在线视频| 色婷婷精品久久二区二区蜜臀av| 国产精品天美传媒沈樵| 狠狠色综合播放一区二区| 欧美另类久久久品| 亚洲成av人片www| 欧美日韩一级黄| 亚洲成年人网站在线观看| 欧美专区日韩专区| 亚洲一区二区在线观看视频| 色综合久久99| 亚洲图片欧美综合| 欧美性极品少妇| 日韩主播视频在线| 欧美一级欧美三级在线观看| 蜜桃av噜噜一区|