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

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

?? os_sem.ls1

?? 51單片機上移植UCOSII,通過調試
?? LS1
?? 第 1 頁 / 共 5 頁
字號:
                     187     ; 
                     188     ; 
                     189     ; #if OS_ARG_CHK_EN > 0
                     190     ;     if (pevent == (OS_EVENT *)0) {                    /* Validate 'pevent'               
                                           */
                     191     ;         return (0);
                     192     ;     }
                     193     ;     if (pevent->OSEventType != OS_EVENT_TYPE_SEM) {   /* Validate event block type       
                                           */
                     194     ;         return (0);
                     195     ;     }
                     196     ; #endif
                     197     ;     OS_ENTER_CRITICAL();
                     198     ;     cnt = pevent->OSEventCnt;
                     199     ;     if (cnt > 0) {                                    /* See if resource is available    
                                           */
                     200     ;         pevent->OSEventCnt--;                         /* Yes, decrement semaphore and not
                             ify caller    */
                     201     ;     }
                     202     ;     OS_EXIT_CRITICAL();
                     203     ;     return (cnt);                                     /* Return semaphore count          
                                           */
                     204     ; }
                     205     ; #endif    
                     206     ; 
                     207     ; /*$PAGE*/
                     208     ; /*
                     209     ; *****************************************************************************************
                             ****************
                     210     ; *                                           CREATE A SEMAPHORE
                     211     ; *
                     212     ; * Description: This function creates a semaphore.
                     213     ; *
                     214     ; * Arguments  : cnt           is the initial value for the semaphore.  If the value is 0, 
                             no resource is
                     215     ; *                            available (or no event has occurred).  You initialize the se
                             maphore to a
                     216     ; *                            non-zero value to specify how many resources are available (
                             e.g. if you have
                     217     ; *                            10 resources, you would initialize the semaphore to 10).
                     218     ; *
                     219     ; * Returns    : != (void *)0  is a pointer to the event control clock (OS_EVENT) associate
                             d with the
                     220     ; *                            created semaphore
                     221     ; *              == (void *)0  if no event control blocks were available
                     222     ; *****************************************************************************************
                             ****************
                     223     ; */
                     224     ; 
                     225     ; OS_EVENT  *OSSemCreate (INT16U cnt)LG_REENTRANT
                     226     
----                 227             RSEG  ?PR?_?OSSemCreate?OS_SEM
0000                 228     _?OSSemCreate:
                     229             USING   0
                     230                             ; SOURCE LINE # 83
0000 90FFFE          231             MOV     DPTR,#0FFFEH
0003 120000   F      232             LCALL   ?C?ADDXBP
0006 EE              233             MOV     A,R6
0007 F0              234             MOVX    @DPTR,A
0008 A3              235             INC     DPTR
A51 MACRO ASSEMBLER  OS_SEM                                                               05/17/2005 11:19:57 PAGE     5

0009 EF              236             MOV     A,R7
000A F0              237             MOVX    @DPTR,A
000B 90FFFD          238             MOV     DPTR,#0FFFDH
000E 120000   F      239             LCALL   ?C?ADDXBP
                     240     ; {
                     241     ; #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU st
                             atus register */
                     242     ;     OS_CPU_SR  cpu_sr;
                     243     ; #endif    
                     244     ;     OS_EVENT  *pevent;
                     245     ; 
                     246     ; 
                     247     ;     if (OSIntNesting > 0) {                                /* See if called from ISR ... 
                                           */
                     248                             ; SOURCE LINE # 91
0011 900000   F      249             MOV     DPTR,#OSIntNesting
0014 E0              250             MOVX    A,@DPTR
0015 D3              251             SETB    C
0016 9400            252             SUBB    A,#00H
0018 4009            253             JC      ?C0001
                     254     ;         return ((OS_EVENT *)0);                            /* ... can't CREATE from an IS
                             R             */
                     255                             ; SOURCE LINE # 92
001A 7B00            256             MOV     R3,#00H
001C 7A00            257             MOV     R2,#00H
001E 7900            258             MOV     R1,#00H
0020 020000   F      259             LJMP    ?C0002
                     260     ;     }
                     261                             ; SOURCE LINE # 93
0023                 262     ?C0001:
                     263     ;     OS_ENTER_CRITICAL();
                     264                             ; SOURCE LINE # 94
0023 C2AF            265             CLR     EA
                     266     ;     pevent = OSEventFreeList;                              /* Get next free event control
                              block        */
                     267                             ; SOURCE LINE # 95
0025 900000   F      268             MOV     DPTR,#OSEventFreeList
0028 120000   F      269             LCALL   ?C?PLDXDATA
002B 850083   F      270             MOV     DPH,?C_XBP
002E 850082   F      271             MOV     DPL,?C_XBP+01H
0031 120000   F      272             LCALL   ?C?PSTXDATA
                     273     ;     if (OSEventFreeList != (OS_EVENT *)0) {                /* See if pool of free ECB poo
                             l was empty   */
                     274                             ; SOURCE LINE # 96
0034 900000   F      275             MOV     DPTR,#OSEventFreeList
0037 120000   F      276             LCALL   ?C?PLDXDATA
003A E9              277             MOV     A,R1
003B 4A              278             ORL     A,R2
003C 4B              279             ORL     A,R3
003D 6012            280             JZ      ?C0003
                     281     ;         OSEventFreeList = (OS_EVENT *)OSEventFreeList->OSEventPtr;
                     282                             ; SOURCE LINE # 97
003F 900000   F      283             MOV     DPTR,#OSEventFreeList
0042 120000   F      284             LCALL   ?C?PLDXDATA
0045 900004          285             MOV     DPTR,#04H
0048 120000   F      286             LCALL   ?C?PLDOPTR
004B 900000   F      287             MOV     DPTR,#OSEventFreeList
004E 120000   F      288             LCALL   ?C?PSTXDATA
                     289     ;     }
                     290                             ; SOURCE LINE # 98
0051                 291     ?C0003:
                     292     ;     OS_EXIT_CRITICAL();
                     293                             ; SOURCE LINE # 99
0051 D2AF            294             SETB    EA
                     295     ;     if (pevent != (OS_EVENT *)0) {                         /* Get an event control block 
                                           */
A51 MACRO ASSEMBLER  OS_SEM                                                               05/17/2005 11:19:57 PAGE     6

                     296                             ; SOURCE LINE # 100
0053 850083   F      297             MOV     DPH,?C_XBP
0056 850082   F      298             MOV     DPL,?C_XBP+01H
0059 120000   F      299             LCALL   ?C?PLDXDATA
005C E9              300             MOV     A,R1
005D 4A              301             ORL     A,R2
005E 4B              302             ORL     A,R3
005F 6052            303             JZ      ?C0004
                     304     ;         pevent->OSEventType = OS_EVENT_TYPE_SEM;
                     305                             ; SOURCE LINE # 101
0061 850083   F      306             MOV     DPH,?C_XBP
0064 850082   F      307             MOV     DPL,?C_XBP+01H
0067 120000   F      308             LCALL   ?C?PLDXDATA
006A 7403            309             MOV     A,#03H
006C 120000   F      310             LCALL   ?C?CSTPTR
                     311     ;         pevent->OSEventCnt  = cnt;                         /* Set semaphore value        
                                           */
                     312                             ; SOURCE LINE # 102
006F 900003          313             MOV     DPTR,#03H
0072 120000   F      314             LCALL   ?C?XBPOFF
0075 E0              315             MOVX    A,@DPTR
0076 FE              316             MOV     R6,A
0077 A3              317             INC     DPTR
0078 E0              318             MOVX    A,@DPTR
0079 FF              319             MOV     R7,A
007A 850083   F      320             MOV     DPH,?C_XBP
007D 850082   F      321             MOV     DPL,?C_XBP+01H
0080 120000   F      322             LCALL   ?C?PLDXDATA
0083 900002          323             MOV     DPTR,#02H
0086 EE              324             MOV     A,R6
0087 8FF0            325             MOV     B,R7
0089 120000   F      326             LCALL   ?C?ISTOPTR
                     327     ;         pevent->OSEventPtr  = (void *)0;                   /* Unlink from ECB free list  
                                           */
                     328                             ; SOURCE LINE # 103
008C 7B00            329             MOV     R3,#00H
008E 7A00            330             MOV     R2,#00H
0090 7900            331             MOV     R1,#00H
0092 C003            332             PUSH    AR3
0094 C002            333             PUSH    AR2
0096 C001            334             PUSH    AR1
0098 850083   F      335             MOV     DPH,?C_XBP
009B 850082   F      336             MOV     DPL,?C_XBP+01H
009E 120000   F      337             LCALL   ?C?PLDXDATA
00A1 900004          338             MOV     DPTR,#04H
00A4 120000   F      339             LCALL   ?C?PSTOPTR
                     340     ;         OS_EventWaitListInit(pevent);                      /* Initialize to 'nobody waiti
                             ng' on sem.   */
                     341                             ; SOURCE LINE # 104
00A7 850083   F      342             MOV     DPH,?C_XBP
00AA 850082   F      343             MOV     DPL,?C_XBP+01H
00AD 120000   F      344             LCALL   ?C?PLDXDATA
00B0 120000   F      345             LCALL   _?OS_EventWaitListInit
                     346     ;     }
                     347                             ; SOURCE LINE # 105
00B3                 348     ?C0004:
                     349     ;     return (pevent);
                     350                             ; SOURCE LINE # 106
00B3 850083   F      351             MOV     DPH,?C_XBP
00B6 850082   F      352             MOV     DPL,?C_XBP+01H
00B9 120000   F      353             LCALL   ?C?PLDXDATA
                     354     ; }
                     355                             ; SOURCE LINE # 107
00BC                 356     ?C0002:
00BC 900005          357             MOV     DPTR,#05H
00BF 020000   F      358             LJMP    ?C?ADDXBP
A51 MACRO ASSEMBLER  OS_SEM                                                               05/17/2005 11:19:57 PAGE     7

                     359     ; END OF _?OSSemCreate
                     360     
                     361     ; 
                     362     ; /*$PAGE*/
                     363     ; /*
                     364     ; *****************************************************************************************
                             ****************
                     365     ; *                                         DELETE A SEMAPHORE
                     366     ; *
                     367     ; * Description: This function deletes a semaphore and readies all tasks pending on the sem
                             aphore.
                     368     ; *
                     369     ; * Arguments  : pevent        is a pointer to the event control block associated with the 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久动漫| 欧美日韩一区二区三区四区五区 | 色婷婷久久综合| 国产精品欧美极品| 欧美日韩一区视频| 日本伊人色综合网| 欧美不卡激情三级在线观看| 精品一区二区三区在线播放视频| 精品国产乱码久久久久久1区2区 | 亚洲国产一区视频| 欧美精品高清视频| 国产专区欧美精品| 国产欧美精品在线观看| 色综合一个色综合亚洲| 亚洲va国产天堂va久久en| 日韩亚洲欧美在线| 国产成人综合亚洲91猫咪| 亚洲天堂免费看| 欧美一区二区私人影院日本| 国产精品主播直播| 亚洲一区二区高清| 亚洲精品一区二区精华| 成人app在线观看| 天堂精品中文字幕在线| 国产丝袜欧美中文另类| 在线免费观看日本一区| 精品一区二区国语对白| 中文字幕亚洲一区二区av在线 | 日韩写真欧美这视频| 国产成人无遮挡在线视频| 亚洲黄色性网站| 日韩精品专区在线| 欧美综合在线视频| 国产成人免费视| 午夜欧美2019年伦理| 国产精品理伦片| 日韩女优制服丝袜电影| 色94色欧美sute亚洲线路一ni| 卡一卡二国产精品| 亚洲自拍另类综合| 国产精品精品国产色婷婷| 欧美一区二区日韩一区二区| 91亚洲国产成人精品一区二区三 | 日本二三区不卡| 国产一区91精品张津瑜| 调教+趴+乳夹+国产+精品| 中文字幕精品一区二区精品绿巨人| 欧美日韩国产天堂| 色综合久久精品| 粉嫩av一区二区三区粉嫩| 日韩激情中文字幕| 伊人性伊人情综合网| 国产精品久久久久久亚洲毛片 | 国产精品免费观看视频| 欧美一区二区在线免费播放 | 一区二区三区在线免费播放| 久久久久久一级片| 欧美一级二级三级蜜桃| 欧美三级视频在线| 色网综合在线观看| 成人免费毛片aaaaa**| 国精产品一区一区三区mba桃花| 视频一区视频二区中文字幕| 亚洲一区二区3| 亚洲乱码国产乱码精品精小说 | 亚洲伊人色欲综合网| 亚洲欧洲精品一区二区精品久久久| 久久久精品免费观看| 精品国产亚洲在线| 精品va天堂亚洲国产| 精品国产一区二区在线观看| 欧美一级xxx| 日韩精品一区国产麻豆| 日韩精品中文字幕在线不卡尤物| 欧美高清hd18日本| 5566中文字幕一区二区电影| 欧美肥妇bbw| 欧美一级夜夜爽| 欧美va在线播放| 久久这里都是精品| 中文字幕乱码日本亚洲一区二区| 欧美国产一区视频在线观看| 亚洲欧洲日韩女同| 亚洲免费观看高清完整版在线| 一区二区三区精密机械公司| 亚洲国产另类精品专区| 婷婷综合久久一区二区三区| 日韩av成人高清| 精品一区二区在线免费观看| 久久超碰97中文字幕| 国产酒店精品激情| av网站一区二区三区| 91福利在线导航| 欧美日韩中文一区| 精品噜噜噜噜久久久久久久久试看| 精品国产一区二区三区四区四| 国产日韩欧美精品一区| 亚洲欧美在线高清| 五月天国产精品| 国产精品资源在线看| 色婷婷综合视频在线观看| 欧美肥大bbwbbw高潮| 久久久久综合网| 一区二区欧美视频| 美女脱光内衣内裤视频久久影院| 国产成人av福利| 欧美在线999| 欧美va天堂va视频va在线| 国产亚洲人成网站| 亚洲一区二区三区三| 青青草原综合久久大伊人精品 | 欧美伊人久久大香线蕉综合69| 欧美久久一二区| 国产欧美一区二区三区在线老狼| 亚洲免费av网站| 国产一区二区视频在线播放| 色综合天天天天做夜夜夜夜做| 91小视频在线观看| 日韩avvvv在线播放| 国产又黄又大久久| 91成人国产精品| 日韩高清在线电影| 欧美激情一区二区三区蜜桃视频| 精品裸体舞一区二区三区| 中文字幕一区二区三区四区| 午夜一区二区三区视频| 国产美女主播视频一区| 欧美在线免费观看亚洲| 久久亚洲精品小早川怜子| 亚洲乱码国产乱码精品精的特点 | 日韩av高清在线观看| 成人久久18免费网站麻豆| 欧美一级片在线观看| 亚洲欧美偷拍三级| 国产精品自拍在线| 欧美日韩五月天| 亚洲欧美日韩综合aⅴ视频| 久久精品理论片| 欧美日韩中文字幕一区| 中文字幕亚洲区| 国产一区二区导航在线播放| 8v天堂国产在线一区二区| 国产精品激情偷乱一区二区∴| 激情久久五月天| 欧美亚洲一区三区| 自拍视频在线观看一区二区| 国产成人精品三级麻豆| 精品国产一区二区三区久久久蜜月| 亚洲一本大道在线| 91论坛在线播放| 国产欧美日韩不卡免费| 久久99国产乱子伦精品免费| 538prom精品视频线放| 一区二区三区电影在线播| 91在线观看视频| 国产精品国产自产拍高清av| 国产精品一区二区你懂的| 欧美成人a∨高清免费观看| 日本怡春院一区二区| 在线成人免费观看| 亚洲va在线va天堂| 欧美伊人久久久久久午夜久久久久| 日韩一区在线免费观看| eeuss鲁一区二区三区| 中文字幕乱码久久午夜不卡| 国产乱码精品1区2区3区| 久久综合久久综合九色| 美女脱光内衣内裤视频久久网站 | 国产精品久久久久久久久快鸭| 成人午夜短视频| 国产精品伦理一区二区| 成人av电影免费观看| 国产精品国产三级国产有无不卡| www.欧美亚洲| 亚洲品质自拍视频| 91福利国产精品| 亚洲成人www| 日韩精品一区二区三区四区| 麻豆精品视频在线观看视频| 欧美videofree性高清杂交| 国产一区二区福利| 国产精品久久久久一区| 色综合久久天天| 亚洲成人精品在线观看| 56国语精品自产拍在线观看| 看电视剧不卡顿的网站| 国产日韩欧美综合一区| 成人深夜福利app| 亚洲日本青草视频在线怡红院 | 亚洲日本免费电影| 欧美性猛交xxxx黑人交| 麻豆成人av在线| 国产人伦精品一区二区| 99久久久精品免费观看国产蜜| 亚洲资源中文字幕| 日韩精品在线一区二区| av综合在线播放| 亚洲图片自拍偷拍| 2019国产精品| 色婷婷精品大在线视频|