亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产一区二区在线观看免费| 一本到一区二区三区| 美女视频黄免费的久久| 国产成人aaa| 日韩三级中文字幕| 亚洲综合小说图片| 成人性视频免费网站| 日韩欧美国产高清| 亚洲国产裸拍裸体视频在线观看乱了| 国产福利91精品一区| 91精品国产色综合久久不卡电影| 一区二区三区资源| 国产福利91精品| 2023国产精品| 日韩福利视频导航| 欧美日韩国产a| 亚洲精品成人天堂一二三| 99久久综合国产精品| 国产亚洲欧美一区在线观看| 美女视频一区二区| 91精品国产91综合久久蜜臀| 亚洲成人中文在线| 91麻豆精品91久久久久同性| 亚洲三级理论片| 成人黄色一级视频| 国产精品乱人伦| 成人黄色电影在线 | 欧美大片在线观看| 日日夜夜免费精品视频| 欧美视频日韩视频在线观看| 亚洲精品国久久99热| 91美女视频网站| 亚洲男女一区二区三区| 91小视频免费观看| 一区二区三区鲁丝不卡| 欧美中文字幕不卡| 午夜精品成人在线| 日韩一级高清毛片| 国产一区二区三区黄视频| 欧美videossexotv100| 黄色日韩网站视频| 国产精品电影院| 在线视频综合导航| 免费成人在线观看| 久久在线免费观看| av成人免费在线| 一区二区三区四区视频精品免费| 91黄色小视频| 日产精品久久久久久久性色| 日韩欧美区一区二| 国产精品一区一区三区| 日韩毛片视频在线看| 欧美日韩一区二区欧美激情| 国产激情一区二区三区| 国产三级一区二区| 欧洲视频一区二区| 久久精品国产精品青草| 国产精品三级在线观看| 91麻豆精品国产91久久久使用方法 | 韩国成人福利片在线播放| 国产丝袜在线精品| 欧洲一区二区三区在线| 久久99国内精品| 亚洲女爱视频在线| 精品久久久久久无| 日本高清视频一区二区| 老司机午夜精品| 亚洲欧美日本韩国| 亚洲精品一区二区三区影院| 成人激情免费网站| 免费成人av在线| 一区二区三区在线看| 精品日韩在线一区| 欧美三区在线视频| 成人免费视频一区二区| 日韩精品电影在线| 国产精品不卡视频| 久久综合色鬼综合色| 欧美中文字幕亚洲一区二区va在线 | 美女看a上一区| 国产精品女主播av| 精品成人在线观看| 欧美性淫爽ww久久久久无| 国产麻豆成人精品| 国产精品一品二品| 青青草国产精品亚洲专区无| 亚洲精品老司机| 中文字幕av一区二区三区| 欧美一级一级性生活免费录像| 91玉足脚交白嫩脚丫在线播放| 九九国产精品视频| 日韩黄色免费电影| 亚洲午夜激情网站| ●精品国产综合乱码久久久久| 精品久久久久99| 日韩三级中文字幕| 制服.丝袜.亚洲.中文.综合| 在线观看一区不卡| 日本精品一区二区三区四区的功能| 国产电影精品久久禁18| 韩国v欧美v日本v亚洲v| 麻豆精品在线视频| 天天综合天天综合色| 亚洲电影第三页| 亚洲伊人伊色伊影伊综合网| 亚洲精品一卡二卡| 一区二区三区精品视频在线| 18成人在线视频| 中文字幕一区二区三区不卡| 国产亚洲成年网址在线观看| 久久久久久久性| 久久麻豆一区二区| 中文字幕精品一区二区三区精品| 国产午夜三级一区二区三| 久久青草欧美一区二区三区| 精品久久久久久综合日本欧美| 日韩欧美aaaaaa| 精品国产伦一区二区三区观看体验 | 国内精品嫩模私拍在线| 精品一区二区三区免费观看 | 成人不卡免费av| 国产不卡视频在线播放| 99精品视频在线播放观看| 91蜜桃免费观看视频| 欧洲av一区二区嗯嗯嗯啊| 欧美视频在线一区| 日韩无一区二区| 国产偷国产偷亚洲高清人白洁| 久久久一区二区三区捆绑**| 国产女人水真多18毛片18精品视频 | 国产毛片一区二区| 成人精品小蝌蚪| 欧美中文字幕一区| 日韩一区二区三区视频| 国产日韩欧美高清在线| 自拍偷在线精品自拍偷无码专区| 亚洲综合色噜噜狠狠| 蜜桃精品在线观看| 成人免费看视频| 欧洲人成人精品| 亚洲精品在线三区| 亚洲视频免费观看| 欧美a一区二区| 成人开心网精品视频| 欧美亚洲国产一卡| 久久久亚洲综合| 亚洲已满18点击进入久久| 国产一区二区久久| 在线中文字幕一区| 久久久精品黄色| 亚洲成人第一页| 成人精品一区二区三区四区| 欧美日韩一区二区不卡| 久久精品日产第一区二区三区高清版 | 91精品国产日韩91久久久久久| 久久久久久久av麻豆果冻| 亚洲激情自拍视频| 美女脱光内衣内裤视频久久网站 | 香蕉久久一区二区不卡无毒影院 | 欧美日韩国产成人在线免费| 国产日韩欧美一区二区三区乱码| 尤物在线观看一区| 粉嫩av一区二区三区粉嫩| 91精品国产综合久久国产大片 | 久久精品亚洲一区二区三区浴池| 亚洲精品国产第一综合99久久| 国产乱淫av一区二区三区| 欧美日韩卡一卡二| 亚洲视频香蕉人妖| 成人一区在线看| 日韩欧美亚洲国产另类| 亚洲国产一区二区三区| www.日韩精品| 久久色中文字幕| 日韩电影在线免费| 在线视频观看一区| 亚洲图片另类小说| 成人免费电影视频| 久久久国际精品| 狠狠色综合色综合网络| 欧美理论在线播放| 亚洲高清免费观看高清完整版在线观看| 成人在线综合网站| 久久久噜噜噜久久人人看 | 欧美在线观看视频一区二区三区| 久久久激情视频| 国产精品一区二区黑丝| 精品蜜桃在线看| 免费精品视频最新在线| 欧美大片拔萝卜| 五月激情丁香一区二区三区| 色香色香欲天天天影视综合网| 国产精品天美传媒| 成人国产精品免费观看视频| 国产亚洲欧美在线| 成人一区二区三区中文字幕| 国产精品高潮呻吟| 91蜜桃传媒精品久久久一区二区| 成人免费在线视频观看| 91免费看片在线观看|