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

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

?? ucos.lst

?? ICCAVR下的uCOS mega8程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    02EA 1C55      ROL	R5
    02EB 0C42      ADD	R4,R2
    02EC 1C53      ADC	R5,R3
    02ED 9240021B  STS	OSPrioHighRdy,R4
    02EF 2C24      MOV	R2,R4
    02F0 9220021C  STS	OSPrioCur,R2
    02F2 E082      LDI	R24,2
    02F3 9D82      MUL	R24,R2
    02F4 01F0      MOVW	R30,R0
    02F5 EE8E      LDI	R24,0xEE
    02F6 E091      LDI	R25,1
    02F7 0FE8      ADD	R30,R24
    02F8 1FF9      ADC	R31,R25
    02F9 8020      LDD	R2,Z+0
    02FA 8031      LDD	R3,Z+1
    02FB 92300211  STS	OSTCBHighRdy+1,R3
    02FD 92200210  STS	OSTCBHighRdy,R2
    02FF 92300215  STS	OSTCBCur+1,R3
    0301 92200214  STS	OSTCBCur,R2
    0303 940E0642  CALL	_OSStartHighRdy
    0305 940E0777  CALL	pop_gset4x
(0113)     }
(0114)     OSEventTbl[OS_MAX_EVENTS - 1].OSEventPtr = (OS_EVENT *)0;
    0307 9508      RET
_OSTaskIdle:
  pdata                --> R16
    0308 930A      ST	R16,-Y
    0309 B70F      IN	R16,0x3F
    030A 94F8      BCLR	7
    030B 930F      PUSH	R16
(0115)     OSEventFreeList                          = &OSEventTbl[0];    
    030C 9109      LD	R16,Y+
    030D E081      LDI	R24,1
    030E E090      LDI	R25,0
    030F E0A0      LDI	R26,0
    0310 E0B0      LDI	R27,0
    0311 90400221  LDS	R4,OSIdleCtr+2
(0116) #endif
(0117) 
(0118) #if OS_STK_GROWTH == 1
(0119)     OSTaskCreate(OSTaskIdle, (void *)0, &OSTaskIdleStk[OS_TASK_IDLE_STK_SIZE - 1], OS_IDLE_PRIO);
    0313 90500222  LDS	R5,OSIdleCtr+3
    0315 9020021F  LDS	R2,OSIdleCtr
    0317 90300220  LDS	R3,OSIdleCtr+1
    0319 0E28      ADD	R2,R24
    031A 1E39      ADC	R3,R25
    031B 1E4A      ADC	R4,R26
    031C 1E5B      ADC	R5,R27
    031D 92300220  STS	OSIdleCtr+1,R3
    031F 9220021F  STS	OSIdleCtr,R2
(0120) #else
(0121)     OSTaskCreate(OSTaskIdle, (void *)0, &OSTaskIdleStk[0], OS_IDLE_PRIO);
(0122) #endif
(0123) 
(0124) }
(0125) /*$PAGE*/
(0126) /*
(0127) *********************************************************************************************************
(0128) *                                               EXIT ISR
(0129) *
(0130) * Description: This function is used to notify uC/OS-II that you have completed serviving an ISR.  When 
(0131) *              the last nested ISR has completed, uC/OS-II will call the scheduler to determine whether
(0132) *              a new, high-priority task, is ready to run.
(0133) *
(0134) * Arguments  : none
(0135) *
(0136) * Returns    : none
(0137) *
(0138) * Notes      : 1) You MUST invoke OSIntEnter() and OSIntExit() in pair.  In other words, for every call
(0139) *                 to OSIntEnter() at the beginning of the ISR you MUST have a call to OSIntExit() at the
(0140) *                 end of the ISR.
(0141) *              2) Rescheduling is prevented when the scheduler is locked (see OSSchedLock())
(0142) *********************************************************************************************************
(0143) */
(0144) 
(0145) void OSIntExit (void)
(0146) {
(0147)     OS_ENTER_CRITICAL();
    0321 92500222  STS	OSIdleCtr+3,R5
    0323 92400221  STS	OSIdleCtr+2,R4
    0325 930A      ST	R16,-Y
(0148)     if ((--OSIntNesting | OSLockNesting) == 0) { /* Reschedule only if all ISRs completed & not locked */
    0326 910F      POP	R16
    0327 BF0F      OUT	0x3F,R16
    0328 9109      LD	R16,Y+
    0329 CFDE      RJMP	_OSTaskIdle
    032A 9508      RET
_OSTCBInit:
  ptcb                 --> R10
  opt                  --> Y+10
  pext                 --> Y+8
  stk_size             --> Y+6
  id                   --> Y+4
  pbos                 --> Y+2
  ptos                 --> R18
  prio                 --> R16
    032B 940E077D  CALL	push_gset3x
    032D 930A      ST	R16,-Y
    032E B70F      IN	R16,0x3F
    032F 94F8      BCLR	7
    0330 930F      PUSH	R16
(0149)         OSIntExitY    = OSUnMapTbl[OSRdyGrp];
    0331 9109      LD	R16,Y+
    0332 90A00212  LDS	R10,OSTCBFreeList
    0334 90B00213  LDS	R11,OSTCBFreeList+1
    0336 20AA      TST	R10
    0337 F419      BNE	0x033B
    0338 20BB      TST	R11
    0339 F409      BNE	0x033B
    033A C07C      RJMP	0x03B7
(0150)         OSPrioHighRdy = (INT8U)((OSIntExitY << 3) + OSUnMapTbl[OSRdyTbl[OSIntExitY]]);
    033B 01F5      MOVW	R30,R10
    033C 8022      LDD	R2,Z+2
    033D 8033      LDD	R3,Z+3
    033E 92300213  STS	OSTCBFreeList+1,R3
    0340 92200212  STS	OSTCBFreeList,R2
    0342 930A      ST	R16,-Y
    0343 910F      POP	R16
    0344 BF0F      OUT	0x3F,R16
    0345 9109      LD	R16,Y+
    0346 01F5      MOVW	R30,R10
    0347 8331      STD	Z+1,R19
    0348 8320      STD	Z+0,R18
    0349 8701      STD	Z+9,R16
    034A 2422      CLR	R2
    034B 01F5      MOVW	R30,R10
    034C 8620      STD	Z+8,R2
    034D 2433      CLR	R3
    034E 01F5      MOVW	R30,R10
    034F 8237      STD	Z+7,R3
    0350 8226      STD	Z+6,R2
    0351 2E20      MOV	R2,R16
    0352 9426      LSR	R2
    0353 9426      LSR	R2
    0354 9426      LSR	R2
(0151)         if (OSPrioHighRdy != OSPrioCur) {        /* No context switch if current task is highest ready */
    0355 01F5      MOVW	R30,R10
    0356 8623      STD	Z+11,R2
    0357 E58A      LDI	R24,0x5A
    0358 E090      LDI	R25,0
(0152)             OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy];
    0359 01F5      MOVW	R30,R10
    035A 85E3      LDD	R30,Z+11
    035B 27FF      CLR	R31
    035C 0FE8      ADD	R30,R24
    035D 1FF9      ADC	R31,R25
    035E 91E4      LPM	R30,0(Z)
    035F 01D5      MOVW	R26,R10
    0360 961D      ADIW	R26,0xD
    0361 93EC      ST	R30,0(X)
    0362 2F80      MOV	R24,R16
    0363 7087      ANDI	R24,7
    0364 01F5      MOVW	R30,R10
    0365 8782      STD	Z+10,R24
    0366 E58A      LDI	R24,0x5A
(0153)             OSCtxSwCtr++;                        /* Keep track of the number of context switches       */
    0367 E090      LDI	R25,0
    0368 01F5      MOVW	R30,R10
    0369 85E2      LDD	R30,Z+10
    036A 27FF      CLR	R31
    036B 0FE8      ADD	R30,R24
    036C 1FF9      ADC	R31,R25
    036D 91E4      LPM	R30,0(Z)
    036E 01D5      MOVW	R26,R10
    036F 961C      ADIW	R26,0xC
    0370 93EC      ST	R30,0(X)
    0371 930A      ST	R16,-Y
    0372 B70F      IN	R16,0x3F
    0373 94F8      BCLR	7
    0374 930F      PUSH	R16
    0375 9109      LD	R16,Y+
    0376 E082      LDI	R24,2
    0377 9F80      MUL	R24,R16
    0378 01F0      MOVW	R30,R0
    0379 EE8E      LDI	R24,0xEE
    037A E091      LDI	R25,1
    037B 0FE8      ADD	R30,R24
    037C 1FF9      ADC	R31,R25
    037D 82B1      STD	Z+1,R11
    037E 82A0      STD	Z+0,R10
(0154)             OSIntCtxSw();                        /* Perform interrupt level context switch             */
    037F 9020020E  LDS	R2,OSTCBList
(0155)         }
(0156)     }
(0157)     OS_EXIT_CRITICAL();
    0381 9030020F  LDS	R3,OSTCBList+1
    0383 01F5      MOVW	R30,R10
    0384 8233      STD	Z+3,R3
    0385 8222      STD	Z+2,R2
    0386 2422      CLR	R2
    0387 2433      CLR	R3
(0158) }
(0159) /*$PAGE*/
(0160) /*
(0161) *********************************************************************************************************
(0162) *                                              SCHEDULER
(0163) *
(0164) * Description: This function is called by other uC/OS-II services to determine whether a new, high
(0165) *              priority task has been made ready to run.  This function is invoked by TASK level code
(0166) *              and is not used to reschedule tasks from ISRs (see OSIntExit() for ISR rescheduling).
(0167) *
(0168) * Arguments  : none
(0169) *
(0170) * Returns    : none
(0171) *
(0172) * Notes      : 1) This function is INTERNAL to uC/OS-II and your application should not call it.
(0173) *              2) Rescheduling is prevented when the scheduler is locked (see OSSchedLock())
(0174) *********************************************************************************************************
(0175) */
(0176) 
(0177) void OSSched (void)
(0178) {
(0179)     INT8U y;
(0180) 
(0181) 
(0182)     OS_ENTER_CRITICAL();
    0388 01F5      MOVW	R30,R10
    0389 8235      STD	Z+5,R3
    038A 8224      STD	Z+4,R2
    038B 9020020E  LDS	R2,OSTCBList
(0183)     if ((OSLockNesting | OSIntNesting) == 0) {   /* Task scheduling must be enabled and not ISR level  */
    038D 9030020F  LDS	R3,OSTCBList+1
    038F 2022      TST	R2
    0390 F411      BNE	0x0393
    0391 2033      TST	R3
    0392 F031      BEQ	0x0399
    0393 91E0020E  LDS	R30,OSTCBList
(0184)         y             = OSUnMapTbl[OSRdyGrp];    /* Get pointer to highest priority task ready to run  */
    0395 91F0020F  LDS	R31,OSTCBList+1
    0397 82B5      STD	Z+5,R11
    0398 82A4      STD	Z+4,R10
    0399 92B0020F  STS	OSTCBList+1,R11
    039B 92A0020E  STS	OSTCBList,R10
(0185)         OSPrioHighRdy = (INT8U)((y << 3) + OSUnMapTbl[OSRdyTbl[y]]);
    039D 01F5      MOVW	R30,R10
    039E 8425      LDD	R2,Z+13
    039F 9030021A  LDS	R3,OSRdyGrp
    03A1 2832      OR	R3,R2
    03A2 9230021A  STS	OSRdyGrp,R3
    03A4 E188      LDI	R24,0x18
    03A5 E092      LDI	R25,2
    03A6 01F5      MOVW	R30,R10
    03A7 8423      LDD	R2,Z+11
    03A8 2433      CLR	R3
    03A9 0E28      ADD	R2,R24
    03AA 1E39      ADC	R3,R25
    03AB 01F5      MOVW	R30,R10
    03AC 8444      LDD	R4,Z+12
    03AD 01F1      MOVW	R30,R2
    03AE 8050      LDD	R5,Z+0
    03AF 2854      OR	R5,R4
    03B0 8250      STD	Z+0,R5
    03B1 930A      ST	R16,-Y
    03B2 910F      POP	R16
    03B3 BF0F      OUT	0x3F,R16
    03B4 9109      LD	R16,Y+
    03B5 2700      CLR	R16
(0186)         if (OSPrioHighRdy != OSPrioCur) {         /* No context switch if current task is highest ready */
    03B6 C005      RJMP	0x03BC
    03B7 930A      ST	R16,-Y
    03B8 910F      POP	R16
    03B9 BF0F      OUT	0x3F,R16
(0187)             OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy];
    03BA 9109      LD	R16,Y+
    03BB E406      LDI	R16,0x46
    03BC 940E076B  CALL	pop_gset3x
    03BE 9508      RET
_OSTimeTick:
  ptcb                 --> R16
    03BF 9100020E  LDS	R16,OSTCBList
    03C1 9110020F  LDS	R17,OSTCBList+1
    03C3 C03F      RJMP	0x0403
    03C4 930A      ST	R16,-Y
    03C5 B70F      IN	R16,0x3F
    03C6 94F8      BCLR	7
    03C7 930F      PUSH	R16
(0188)             OSCtxSwCtr++;                        /* Increment context switch counter                   */
    03C8 9109      LD	R16,Y+
    03C9 01F8      MOVW	R30,R16
    03CA 8026      LDD	R2,Z+6
    03CB 8037      LDD	R3,Z+7
    03CC 2022      TST	R2
    03CD F419      BNE	0x03D1
    03CE 2033      TST	R3
    03CF F409      BNE	0x03D1
    03D0 C02B      RJMP	0x03FC
    03D1 01C8      MOVW	R24,R16
    03D2 9606      ADIW	R24,6
    03D3 01FC      MOVW	R30,R24
    03D4 8180      LDD	R24,Z+0
    03D5 8191      LDD	R25,Z+1
    03D6 9701      SBIW	R24,1
    03D7 012C      MOVW	R4,R24
    03D8 8251      STD	Z+1,R5
    03D9 8240      STD	Z+0,R4
    03DA 3080      CPI	R24,0
    03DB 0789      CPC	R24,R25
    03DC F009      BEQ	0x03DE
    03DD C01E      RJMP	0x03FC
    03DE 01F8      MOVW	R30,R16
    03DF 8420      LDD	R2,Z+8
(0189)             OS_TASK_SW();                        /* Perform a context switch                           */
    03E0 FC23      SBRC	R2,3
    03E1 C015      RJMP	0x03F7
(0190)         }
(0191)     }
(0192)     OS_EXIT_CRITICAL();
    03E2 01F8      MOVW	R30,R16
    03E3 8425      LDD	R2,Z+13
    03E4 9030021A  LDS	R3,OSRdyGrp
    03E6 2832      OR	R3,R2
    03E7 9230021A  STS	OSRdyGrp,R3
    03E9 E188      LDI	R24,0x18
    03EA E092      LDI	R25,2
(0193) }
(0194) /*$PAGE*/
(0195) /*
(0196) *********************************************************************************************************
(0197) *                                          START MULTITASKING
(0198) *
(0199) * Description: This function is used to start the multitasking process which lets uC/OS-II manages the
(0200) *              task that you have created.  Before you can call OSStart(), you MUST have called OSInit()
(0201) *              and you MUST have created at least one task.
(0202) *
(0203) * Arguments  : none
(0204) *
(0205) * Returns    : none
(0206) *
(0207) * Note       : OSStartHighRdy() MUST:
(0208) *                 a) Call OSTaskSwHook() then,
(0209) *                 b) Set OSRunning to TRUE.
(0210) *********************************************************************************************************
(0211) */
(0212) 
(0213) void OSStart (void)
(0214) {
(0215)     INT8U y;
(0216)     INT8U x;
(0217) 
(0218) 
(0219)     if (OSRunning == FALSE) {
    03EB 01F8      MOVW	R30,R16
    03EC 8423      LDD	R2,Z+11
    03ED 2433      CLR	R3
    03EE 0E28      ADD	R2,R24
    03EF 1E39      ADC	R3,R25
(0220)         y             = OSUnMapTbl[OSRdyGrp];        /* Find highest priority's task priority number   */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久99综合精品jk白丝| 欧美久久高跟鞋激| 91精品国产综合久久国产大片| 555www色欧美视频| 欧美激情综合在线| 天天综合色天天| www.性欧美| 日韩精品中文字幕一区二区三区 | 色婷婷国产精品综合在线观看| 欧美日韩一区二区在线观看| 久久久久国产精品人| 午夜电影一区二区三区| 国产69精品一区二区亚洲孕妇| 精品视频123区在线观看| 国产精品麻豆网站| 国产一区二区三区四| 日韩一级大片在线观看| 亚洲一区日韩精品中文字幕| 大胆亚洲人体视频| 26uuu另类欧美| 激情六月婷婷久久| 制服丝袜亚洲网站| 午夜精品久久久久久久蜜桃app| 99精品热视频| 亚洲精品国产无套在线观| 成人国产在线观看| 亚洲视频资源在线| 99国产精品国产精品久久| 国产欧美综合在线观看第十页| 国产精品1区2区3区在线观看| xnxx国产精品| 成人免费视频播放| 最好看的中文字幕久久| 91亚洲国产成人精品一区二三| 国产精品国产精品国产专区不蜜| www.亚洲色图.com| 日韩国产精品91| 久久香蕉国产线看观看99| 波多野结衣在线一区| 伊人一区二区三区| 欧美一区三区二区| 国产伦精品一区二区三区免费| 久久精品欧美一区二区三区不卡| 成人综合婷婷国产精品久久蜜臀 | 亚洲成人你懂的| 欧美一区二区三区在线视频| 激情久久五月天| 最新国产精品久久精品| 欧美日韩第一区日日骚| 国产精品白丝jk黑袜喷水| 亚洲三级在线看| 欧美成人性战久久| 日本道免费精品一区二区三区| 亚洲天堂久久久久久久| 色综合久久久久综合| 日韩高清在线一区| 亚洲另类在线一区| 久久婷婷久久一区二区三区| 欧美日韩国产高清一区二区 | 亚洲乱码日产精品bd| 精品国精品自拍自在线| 精品视频一区 二区 三区| 成人手机在线视频| 国产一区二区三区四| 免费欧美在线视频| 污片在线观看一区二区| 一区二区三区电影在线播| ...xxx性欧美| 亚洲伦在线观看| 最新中文字幕一区二区三区| 欧美国产精品v| 国产欧美日韩在线看| 国产精品日产欧美久久久久| 久久久综合九色合综国产精品| 欧美成人伊人久久综合网| 日韩欧美一区二区视频| 日韩欧美中文一区二区| 日韩欧美一二区| 久久九九影视网| 国产精品热久久久久夜色精品三区| 国产免费观看久久| 亚洲精品视频观看| 日本欧美韩国一区三区| 国产精品一区二区久久不卡| 国产91丝袜在线播放0| 日本久久一区二区| 337p亚洲精品色噜噜狠狠| 久久久久久97三级| 中文字幕在线一区免费| 五月天视频一区| 成人黄动漫网站免费app| 欧美精品一级二级三级| 久久精品这里都是精品| 亚洲成人你懂的| 91污片在线观看| 91尤物视频在线观看| 国产一区二区三区视频在线播放| 成人免费一区二区三区在线观看 | 综合久久久久久久| 97精品久久久午夜一区二区三区| 国产日韩综合av| 成人免费视频国产在线观看| 国产精品久久久久久久久久久免费看 | 久久久久久久久免费| 亚洲成a人片在线观看中文| 成人av高清在线| 精品理论电影在线| 日韩成人免费电影| 欧美在线观看一二区| 亚洲精品免费一二三区| 成熟亚洲日本毛茸茸凸凹| 久久天堂av综合合色蜜桃网| 青娱乐精品在线视频| 欧美日韩国产精选| 麻豆精品一区二区综合av| 91精品国产综合久久福利| 爽好久久久欧美精品| 5566中文字幕一区二区电影| 青草av.久久免费一区| 日韩欧美精品在线| 成人网在线播放| 亚洲人成网站在线| 91精品国产欧美一区二区18| 天天av天天翘天天综合网色鬼国产| 精品视频在线免费看| 久久精品国产精品亚洲精品| 亚洲国产精品精华液2区45| www.亚洲国产| 麻豆精品一区二区三区| 欧美韩国日本不卡| 91精品国产福利| 色综合久久久网| 老司机午夜精品| 亚洲一区二区五区| 中文字幕 久热精品 视频在线| 欧美在线视频你懂得| 国产一区二区福利视频| 亚洲高清视频的网址| 日本一区二区三区电影| 欧美日韩精品福利| 97精品久久久久中文字幕| 老司机精品视频线观看86| 亚洲午夜在线电影| 亚洲色图一区二区三区| 国产亚洲精品精华液| 欧美xxxxxxxx| 成人免费毛片a| 免费亚洲电影在线| 亚洲国产精品久久一线不卡| 中文字幕在线不卡一区| 精品国产91洋老外米糕| 欧美va日韩va| 久久综合一区二区| 精品处破学生在线二十三| 欧美一区二区视频在线观看2022| 91久久精品一区二区| 欧洲精品视频在线观看| 欧美亚洲国产一区二区三区va| 东方aⅴ免费观看久久av| 国产精品亚洲专一区二区三区 | 中文字幕高清一区| 久久久电影一区二区三区| 国产日韩欧美不卡在线| 中文字幕制服丝袜一区二区三区 | 国产99久久久精品| 懂色av中文字幕一区二区三区| 丁香天五香天堂综合| 99这里都是精品| 欧美日韩1区2区| 日韩精品最新网址| 中文字幕乱码久久午夜不卡 | 日本一区二区三区国色天香| 国产精品热久久久久夜色精品三区| 亚洲欧美日韩国产成人精品影院 | 日韩你懂的在线观看| 欧美经典三级视频一区二区三区| 亚洲视频在线一区| 美国毛片一区二区| 色综合久久九月婷婷色综合| 欧美电影精品一区二区 | 精品少妇一区二区| 亚洲乱码中文字幕| 国产精品69毛片高清亚洲| 欧美日韩精品一区二区三区蜜桃 | www.欧美.com| 久久综合色综合88| 热久久国产精品| 欧美日韩另类国产亚洲欧美一级| 中文字幕免费不卡| 黄色日韩三级电影| 日韩欧美中文字幕一区| 亚洲国产人成综合网站| 一本大道久久精品懂色aⅴ| 久久精品无码一区二区三区| 久久精品噜噜噜成人88aⅴ | 极品少妇一区二区| 欧美美女直播网站| 亚洲大片免费看| 一本到不卡精品视频在线观看 | 欧美日韩一区二区在线观看|