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

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

?? ucosii.lst

?? ucos如何移植到單片機mega128
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    0154 8380      STD	Z+0,R24
(0095)         return ((OS_FLAGS)0);
    0155 2700      CLR	R16
    0156 C093      RJMP	0x01EA
(0096)     }
(0097) #endif
(0098)     if (wait_type & OS_FLAG_CONSUME) {                     /* See if we need to consume the flags      */
    0157 FF47      SBRS	R20,7
    0158 C004      RJMP	0x015D
(0099)         wait_type &= ~OS_FLAG_CONSUME;
    0159 774F      ANDI	R20,0x7F
(0100)         consume    = TRUE;
    015A 24CC      CLR	R12
    015B 94C3      INC	R12
(0101)     } else {
    015C C001      RJMP	0x015E
(0102)         consume    = FALSE;
    015D 24CC      CLR	R12
(0103)     }
(0104) /*$PAGE*/
(0105)     *err = OS_NO_ERR;                                      /* Assume NO error until proven otherwise.  */
    015E 2422      CLR	R2
    015F 01FB      MOVW	R30,R22
    0160 8220      STD	Z+0,R2
(0106)     OS_ENTER_CRITICAL();
    0161 930A      ST	R16,-Y
    0162 B70F      IN	R16,0x3F
    0163 94F8      BCLR	7
    0164 930F      PUSH	R16
    0165 9109      LD	R16,Y+
(0107)     switch (wait_type) {
    0166 2755      CLR	R21
    0167 3040      CPI	R20,0
    0168 0745      CPC	R20,R21
    0169 F409      BNE	0x016B
    016A C043      RJMP	0x01AE
    016B 3041      CPI	R20,1
    016C E0E0      LDI	R30,0
    016D 075E      CPC	R21,R30
    016E F409      BNE	0x0170
    016F C058      RJMP	0x01C8
    0170 3042      CPI	R20,2
    0171 E0E0      LDI	R30,0
    0172 075E      CPC	R21,R30
    0173 F029      BEQ	0x0179
    0174 3043      CPI	R20,3
    0175 E0E0      LDI	R30,0
    0176 075E      CPC	R21,R30
    0177 F0E1      BEQ	0x0194
    0178 C068      RJMP	0x01E1
(0108)         case OS_FLAG_WAIT_SET_ALL:                         /* See if all required flags are set        */
(0109)              flags_rdy = pgrp->OSFlagFlags & flags;        /* Extract only the bits we want            */
    0179 01F8      MOVW	R30,R16
    017A 80A3      LDD	R10,Z+3
    017B 22A2      AND	R10,R18
(0110)              if (flags_rdy == flags) {                     /* Must match ALL the bits that we want     */
    017C 16A2      CP	R10,R18
    017D F461      BNE	0x018A
(0111)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    017E 2D8C      MOV	R24,R12
    017F 3081      CPI	R24,1
    0180 F461      BNE	0x018D
(0112)                      pgrp->OSFlagFlags &= ~flags_rdy;      /* Clear ONLY the flags that we wanted      */
    0181 01C8      MOVW	R24,R16
    0182 9603      ADIW	R24,3
    0183 2C4A      MOV	R4,R10
    0184 9440      COM	R4
    0185 01FC      MOVW	R30,R24
    0186 8050      LDD	R5,Z+0
    0187 2054      AND	R5,R4
    0188 8250      STD	Z+0,R5
(0113)                  }
(0114)              } else {
    0189 C003      RJMP	0x018D
(0115)                  *err  = OS_FLAG_ERR_NOT_RDY;
    018A E988      LDI	R24,0x98
    018B 01FB      MOVW	R30,R22
    018C 8380      STD	Z+0,R24
(0116)              }
(0117)              flags_cur = pgrp->OSFlagFlags;                /* Will return the state of the group       */
    018D 01F8      MOVW	R30,R16
    018E 8143      LDD	R20,Z+3
(0118)              OS_EXIT_CRITICAL();
    018F 930A      ST	R16,-Y
    0190 910F      POP	R16
    0191 BF0F      OUT	0x3F,R16
    0192 9109      LD	R16,Y+
(0119)              break;
    0193 C055      RJMP	0x01E9
(0120) 
(0121)         case OS_FLAG_WAIT_SET_ANY:
(0122)              flags_rdy = pgrp->OSFlagFlags & flags;        /* Extract only the bits we want            */
    0194 01F8      MOVW	R30,R16
    0195 80A3      LDD	R10,Z+3
    0196 22A2      AND	R10,R18
(0123)              if (flags_rdy != (OS_FLAGS)0) {               /* See if any flag set                      */
    0197 F061      BEQ	0x01A4
(0124)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    0198 2D8C      MOV	R24,R12
    0199 3081      CPI	R24,1
    019A F461      BNE	0x01A7
(0125)                      pgrp->OSFlagFlags &= ~flags_rdy;      /* Clear ONLY the flags that we got         */
    019B 01C8      MOVW	R24,R16
    019C 9603      ADIW	R24,3
    019D 2C4A      MOV	R4,R10
    019E 9440      COM	R4
    019F 01FC      MOVW	R30,R24
    01A0 8050      LDD	R5,Z+0
    01A1 2054      AND	R5,R4
    01A2 8250      STD	Z+0,R5
(0126)                  }
(0127)              } else {
    01A3 C003      RJMP	0x01A7
(0128)                  *err  = OS_FLAG_ERR_NOT_RDY;
    01A4 E988      LDI	R24,0x98
    01A5 01FB      MOVW	R30,R22
    01A6 8380      STD	Z+0,R24
(0129)              }
(0130)              flags_cur = pgrp->OSFlagFlags;                /* Will return the state of the group       */
    01A7 01F8      MOVW	R30,R16
    01A8 8143      LDD	R20,Z+3
(0131)              OS_EXIT_CRITICAL();
    01A9 930A      ST	R16,-Y
    01AA 910F      POP	R16
    01AB BF0F      OUT	0x3F,R16
    01AC 9109      LD	R16,Y+
(0132)              break;
    01AD C03B      RJMP	0x01E9
(0133) 
(0134) #if OS_FLAG_WAIT_CLR_EN > 0
(0135)         case OS_FLAG_WAIT_CLR_ALL:                         /* See if all required flags are cleared    */
(0136)              flags_rdy = ~pgrp->OSFlagFlags & flags;       /* Extract only the bits we want            */
    01AE 01F8      MOVW	R30,R16
    01AF 80A3      LDD	R10,Z+3
    01B0 94A0      COM	R10
    01B1 22A2      AND	R10,R18
(0137)              if (flags_rdy == flags) {                     /* Must match ALL the bits that we want     */
    01B2 16A2      CP	R10,R18
    01B3 F451      BNE	0x01BE
(0138)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    01B4 2D8C      MOV	R24,R12
    01B5 3081      CPI	R24,1
    01B6 F451      BNE	0x01C1
(0139)                      pgrp->OSFlagFlags |= flags_rdy;       /* Set ONLY the flags that we wanted        */
    01B7 01C8      MOVW	R24,R16
    01B8 9603      ADIW	R24,3
    01B9 01FC      MOVW	R30,R24
    01BA 8040      LDD	R4,Z+0
    01BB 284A      OR	R4,R10
    01BC 8240      STD	Z+0,R4
(0140)                  }
(0141)              } else {
    01BD C003      RJMP	0x01C1
(0142)                  *err  = OS_FLAG_ERR_NOT_RDY;
    01BE E988      LDI	R24,0x98
    01BF 01FB      MOVW	R30,R22
    01C0 8380      STD	Z+0,R24
(0143)              }
(0144)              flags_cur = pgrp->OSFlagFlags;                /* Will return the state of the group       */
    01C1 01F8      MOVW	R30,R16
    01C2 8143      LDD	R20,Z+3
(0145)              OS_EXIT_CRITICAL();
    01C3 930A      ST	R16,-Y
    01C4 910F      POP	R16
    01C5 BF0F      OUT	0x3F,R16
    01C6 9109      LD	R16,Y+
(0146)              break;
    01C7 C021      RJMP	0x01E9
(0147) 
(0148)         case OS_FLAG_WAIT_CLR_ANY:
(0149)              flags_rdy = ~pgrp->OSFlagFlags & flags;       /* Extract only the bits we want            */
    01C8 01F8      MOVW	R30,R16
    01C9 80A3      LDD	R10,Z+3
    01CA 94A0      COM	R10
    01CB 22A2      AND	R10,R18
(0150)              if (flags_rdy != (OS_FLAGS)0) {               /* See if any flag cleared                  */
    01CC F051      BEQ	0x01D7
(0151)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    01CD 2D8C      MOV	R24,R12
    01CE 3081      CPI	R24,1
    01CF F451      BNE	0x01DA
(0152)                      pgrp->OSFlagFlags |= flags_rdy;       /* Set ONLY the flags that we got           */
    01D0 01C8      MOVW	R24,R16
    01D1 9603      ADIW	R24,3
    01D2 01FC      MOVW	R30,R24
    01D3 8040      LDD	R4,Z+0
    01D4 284A      OR	R4,R10
    01D5 8240      STD	Z+0,R4
(0153)                  }
(0154)              } else {
    01D6 C003      RJMP	0x01DA
(0155)                  *err  = OS_FLAG_ERR_NOT_RDY;
    01D7 E988      LDI	R24,0x98
    01D8 01FB      MOVW	R30,R22
    01D9 8380      STD	Z+0,R24
(0156)              }
(0157)              flags_cur = pgrp->OSFlagFlags;                /* Will return the state of the group       */
    01DA 01F8      MOVW	R30,R16
    01DB 8143      LDD	R20,Z+3
(0158)              OS_EXIT_CRITICAL();
    01DC 930A      ST	R16,-Y
    01DD 910F      POP	R16
    01DE BF0F      OUT	0x3F,R16
    01DF 9109      LD	R16,Y+
(0159)              break;
    01E0 C008      RJMP	0x01E9
(0160) #endif
(0161) 
(0162)         default:
(0163)              OS_EXIT_CRITICAL();
    01E1 930A      ST	R16,-Y
    01E2 910F      POP	R16
    01E3 BF0F      OUT	0x3F,R16
    01E4 9109      LD	R16,Y+
(0164)              flags_cur = (OS_FLAGS)0;
    01E5 2744      CLR	R20
(0165)              *err      = OS_FLAG_ERR_WAIT_TYPE;
    01E6 E987      LDI	R24,0x97
    01E7 01FB      MOVW	R30,R22
    01E8 8380      STD	Z+0,R24
(0166)              break;
(0167)     }
(0168)     return (flags_cur);
    01E9 2F04      MOV	R16,R20
    01EA 940E0DD4  CALL	pop_gset4
    01EC 9508      RET
_OSFlagCreate:
  pgrp                 --> R20
  err                  --> R18
  flags                --> R16
    01ED 940E0DE2  CALL	push_gset1
(0169) }
(0170) #endif
(0171) 
(0172) /*$PAGE*/
(0173) /*
(0174) *********************************************************************************************************
(0175) *                                           CREATE AN EVENT FLAG
(0176) *
(0177) * Description: This function is called to create an event flag group.
(0178) *
(0179) * Arguments  : flags         Contains the initial value to store in the event flag group.
(0180) *
(0181) *              err           is a pointer to an error code which will be returned to your application:
(0182) *                               OS_NO_ERR                if the call was successful.
(0183) *                               OS_ERR_CREATE_ISR        if you attempted to create an Event Flag from an
(0184) *                                                        ISR.
(0185) *                               OS_FLAG_GRP_DEPLETED     if there are no more event flag groups
(0186) *
(0187) * Returns    : A pointer to an event flag group or a NULL pointer if no more groups are available.
(0188) *
(0189) * Called from: Task ONLY
(0190) *********************************************************************************************************
(0191) */
(0192) 
(0193) OS_FLAG_GRP  *OSFlagCreate (OS_FLAGS flags, INT8U *err)
(0194) {
(0195) #if OS_CRITICAL_METHOD == 3                         /* Allocate storage for CPU status register        */
(0196)     OS_CPU_SR    cpu_sr;
(0197) #endif
(0198)     OS_FLAG_GRP *pgrp;
(0199) 
(0200) 
(0201)     if (OSIntNesting > 0) {                         /* See if called from ISR ...                      */
    01EF 2422      CLR	R2
    01F0 9030032C  LDS	R3,OSIntNesting
    01F2 1423      CP	R2,R3
    01F3 F430      BCC	0x01FA
(0202)         *err = OS_ERR_CREATE_ISR;                   /* ... can't CREATE from an ISR                    */
    01F4 E88D      LDI	R24,0x8D
    01F5 01F9      MOVW	R30,R18
    01F6 8380      STD	Z+0,R24
(0203)         return ((OS_FLAG_GRP *)0);
    01F7 2700      CLR	R16
    01F8 2711      CLR	R17
    01F9 C02E      RJMP	0x0228
(0204)     }
(0205)     OS_ENTER_CRITICAL();
    01FA 930A      ST	R16,-Y
    01FB B70F      IN	R16,0x3F
    01FC 94F8      BCLR	7
    01FD 930F      PUSH	R16
    01FE 9109      LD	R16,Y+
(0206)     pgrp = OSFlagFreeList;                          /* Get next free event flag                        */
    01FF 9140032D  LDS	R20,OSFlagFreeList
    0201 9150032E  LDS	R21,OSFlagFreeList+1
(0207)     if (pgrp != (OS_FLAG_GRP *)0) {                 /* See if we have event flag groups available      */
    0203 3040      CPI	R20,0
    0204 0745      CPC	R20,R21
    0205 F0D1      BEQ	0x0220
(0208)                                                     /* Adjust free list                                */
(0209)         OSFlagFreeList       = (OS_FLAG_GRP *)OSFlagFreeList->OSFlagWaitList;
    0206 91E0032D  LDS	R30,OSFlagFreeList
    0208 91F0032E  LDS	R31,OSFlagFreeList+1
    020A 8021      LDD	R2,Z+1
    020B 8032      LDD	R3,Z+2
    020C 9230032E  STS	OSFlagFreeList+1,R3
    020E 9220032D  STS	OSFlagFreeList,R2
(0210)         pgrp->OSFlagType     = OS_EVENT_TYPE_FLAG;  /* Set to event flag group type                    */
    0210 E085      LDI	R24,5
    0211 01FA      MOVW	R30,R20
    0212 8380      STD	Z+0,R24
(0211)         pgrp->OSFlagFlags    = flags;               /* Set to desired initial value                    */
    0213 8303      STD	Z+3,R16
(0212)         pgrp->OSFlagWaitList = (void *)0;           /* Clear list of tasks waiting on flags            */
    0214 2422      CLR	R2
    0215 2433      CLR	R3
    0216 01FA      MOVW	R30,R20
    0217 8232      STD	Z+2,R3
    0218 8221      STD	Z+1,R2
(0213)         OS_EXIT_CRITICAL();
    0219 930A      ST	R16,-Y
    021A 910F      POP	R16
    021B BF0F      OUT	0x3F,R16
    021C 9109      LD	R16,Y+

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区在线播放| 日本麻豆一区二区三区视频| 欧美国产欧美综合| www欧美成人18+| 26uuu亚洲综合色| 欧美精品一区二区高清在线观看| 欧美一二区视频| 日韩精品专区在线| 日韩免费电影一区| 久久久久久电影| 日本一区二区三区高清不卡| 欧美激情综合在线| 国产精品久久毛片a| 亚洲欧洲另类国产综合| 一区二区三区在线视频免费观看| 伊人色综合久久天天| 亚洲一区二区三区影院| 亚洲成a人v欧美综合天堂下载| 亚洲国产日韩一区二区| 日韩高清在线观看| 久久精品国产77777蜜臀| 精品一区二区三区免费| 成人久久视频在线观看| 色久综合一二码| 欧美三级韩国三级日本一级| 日韩三级高清在线| 欧美国产成人在线| 一区二区三区日韩欧美精品| 亚洲成人久久影院| 久久国产精品色| 国产精品亚洲一区二区三区妖精| gogogo免费视频观看亚洲一| 91国产丝袜在线播放| 91精品国产综合久久福利软件| 精品免费一区二区三区| 国产精品久久久久久久蜜臀| 亚洲一线二线三线视频| 久久疯狂做爰流白浆xx| 成人精品高清在线| 欧美日韩日日骚| 久久久亚洲精华液精华液精华液| 亚洲视频资源在线| 男女性色大片免费观看一区二区 | 欧美性xxxxxxxx| 日韩欧美一级二级| 亚洲人xxxx| 老司机精品视频在线| 99精品一区二区| 日韩午夜激情电影| 亚洲欧美日韩一区| 久久黄色级2电影| 色网综合在线观看| 精品国产91久久久久久久妲己| 国产精品国产三级国产aⅴ中文| 亚洲高清一区二区三区| 豆国产96在线|亚洲| 欧美日韩在线播放一区| 中文字幕欧美国产| 日本色综合中文字幕| 99久久99久久精品免费观看| 日韩三级视频在线看| 亚洲免费三区一区二区| 国产剧情一区在线| 欧美丰满一区二区免费视频| 国产精品三级电影| 久久99久久精品欧美| 欧美亚洲自拍偷拍| 中文字幕一区二区日韩精品绯色| 蜜臀av性久久久久蜜臀aⅴ流畅| 色综合色综合色综合| 精品国产一区二区精华| 天堂久久一区二区三区| 色综合天天综合色综合av| 美女网站视频久久| 欧美国产日韩亚洲一区| 亚洲一区二区三区视频在线播放| 国产精品一级片在线观看| 欧美剧在线免费观看网站| 日韩理论在线观看| 成人夜色视频网站在线观看| 91麻豆精品91久久久久同性| 亚洲色图视频网| 精油按摩中文字幕久久| 国产精品123| 欧美不卡一二三| 国产精品久久久久久久午夜片| 美国av一区二区| 欧美人狂配大交3d怪物一区| 自拍视频在线观看一区二区| 捆绑调教一区二区三区| 欧美日韩中文字幕精品| 久久影音资源网| 久久不见久久见免费视频7| 91日韩一区二区三区| 久久精品视频在线免费观看| 免费高清在线一区| 欧美日韩免费一区二区三区| 亚洲色图制服丝袜| 91免费观看视频| 国产日韩欧美精品综合| 久久精品理论片| 91精品国产综合久久精品麻豆 | 一区二区三区影院| 粉嫩蜜臀av国产精品网站| 精品久久国产老人久久综合| 日韩中文字幕av电影| 在线亚洲欧美专区二区| 亚洲色图20p| 99在线热播精品免费| 亚洲欧美日韩在线| aaa国产一区| 国产精品美女久久久久久| 国产一区二区伦理| 精品裸体舞一区二区三区| 日本aⅴ精品一区二区三区| 91小视频在线免费看| 一级特黄大欧美久久久| 99re热这里只有精品视频| 国产精品久久久久毛片软件| 成人国产亚洲欧美成人综合网| 国产午夜亚洲精品午夜鲁丝片| 国产一区二区三区四区五区美女| 国产亚洲一本大道中文在线| 国产精品18久久久久久久久久久久 | 538在线一区二区精品国产| 亚洲国产日韩一区二区| 欧美日韩黄视频| 日韩av电影免费观看高清完整版在线观看| 99精品欧美一区二区三区综合在线| 久久免费电影网| 成人夜色视频网站在线观看| 国产精品你懂的| 99国产精品视频免费观看| 1区2区3区精品视频| 99久久精品国产精品久久| 亚洲国产欧美一区二区三区丁香婷| 欧美体内she精高潮| 日韩精品高清不卡| 日韩一区二区精品| 久久电影网电视剧免费观看| 久久久天堂av| 91在线免费看| 樱花草国产18久久久久| 精品国产123| 高清不卡一区二区| 亚洲欧美日韩在线不卡| 欧美日韩免费高清一区色橹橹| 日韩av电影天堂| 中文字幕在线不卡一区| 欧美日韩一区久久| 久久精品99国产国产精| 欧美国产激情一区二区三区蜜月| 日本伦理一区二区| 韩国三级在线一区| 亚洲欧洲精品一区二区三区| 欧美私模裸体表演在线观看| 国产精品一二三在| 亚洲国产美国国产综合一区二区| 欧美一级久久久| 大陆成人av片| 午夜精品久久一牛影视| 中文字幕一区二区三区av| 欧美精品一二三| 国产成+人+日韩+欧美+亚洲| 依依成人综合视频| 久久综合五月天婷婷伊人| 波波电影院一区二区三区| 午夜av电影一区| 中文字幕高清一区| 91精品国产综合久久久久| 成人综合婷婷国产精品久久蜜臀 | 亚洲品质自拍视频| 久久综合久久99| 欧美亚洲综合在线| 国产不卡视频在线播放| 亚洲大片在线观看| 国产欧美va欧美不卡在线| 日韩丝袜美女视频| 91影院在线免费观看| 久久精品国产成人一区二区三区| 亚洲精品一卡二卡| 精品免费国产二区三区| 色综合久久久久综合体桃花网| 国产成人亚洲精品狼色在线| 天堂久久一区二区三区| 最新国产精品久久精品| 26uuu色噜噜精品一区二区| 91热门视频在线观看| 成人动漫中文字幕| 另类中文字幕网| 亚洲精品国产精华液| 中文文精品字幕一区二区| 日韩一区二区在线观看视频 | 91久久精品网| 国内精品国产三级国产a久久| 日韩高清在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 国产亚洲欧洲一区高清在线观看| 在线播放一区二区三区| 在线观看日韩av先锋影音电影院|