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

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

?? ucos.lst

?? Atmega128的proteus仿真例程
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    0277 F310      BCS	0x025A
(0106)     }
(0107)     OSTCBTbl[OS_MAX_TASKS + OS_N_SYS_TASKS - 1].OSTCBNext = (OS_TCB *)0;    /* Last OS_TCB             */
    0278 2422      CLR	R2
    0279 2433      CLR	R3
    027A 9230017A  STS	0x17A,R3
    027C 92200179  STS	0x179,R2
(0108)     OSTCBFreeList                                         = &OSTCBTbl[0];
    027E E381      LDI	R24,0x31
    027F E091      LDI	R25,1
    0280 93900213  STS	_OSTCBFreeList+1,R25
    0282 93800212  STS	_OSTCBFreeList,R24
(0109) 
(0110) #if OS_MAX_EVENTS >= 2
(0111)     for (i = 0; i < (OS_MAX_EVENTS - 1); i++) {            /* Init. list of free EVENT control blocks  */
    0284 24AA      CLR	R10
    0285 24BB      CLR	R11
    0286 C019      RJMP	0x02A0
(0112)         OSEventTbl[i].OSEventPtr = (OS_EVENT *)&OSEventTbl[i + 1];
    0287 0195      MOVW	R18,R10
    0288 5F2F      SUBI	R18,0xFF
    0289 4F3F      SBCI	R19,0xFF
    028A E008      LDI	R16,0x8
    028B E010      LDI	R17,0
    028C D540      RCALL	empy16s
    028D 0118      MOVW	R2,R16
    028E E283      LDI	R24,0x23
    028F E092      LDI	R25,2
    0290 0E28      ADD	R2,R24
    0291 1E39      ADC	R3,R25
    0292 E008      LDI	R16,0x8
    0293 E010      LDI	R17,0
    0294 0195      MOVW	R18,R10
    0295 D537      RCALL	empy16s
    0296 01F8      MOVW	R30,R16
    0297 E283      LDI	R24,0x23
    0298 E092      LDI	R25,2
    0299 0FE8      ADD	R30,R24
    029A 1FF9      ADC	R31,R25
    029B 8220      STD	R2,0+Z
    029C 8231      STD	R3,1+Z
    029D 01C5      MOVW	R24,R10
    029E 9601      ADIW	R24,1
    029F 015C      MOVW	R10,R24
    02A0 01C5      MOVW	R24,R10
    02A1 3081      CPI	R24,1
    02A2 E0E0      LDI	R30,0
    02A3 079E      CPC	R25,R30
    02A4 F310      BCS	0x0287
(0113)     }
(0114)     OSEventTbl[OS_MAX_EVENTS - 1].OSEventPtr = (OS_EVENT *)0;
    02A5 2422      CLR	R2
    02A6 2433      CLR	R3
    02A7 9230022C  STS	0x22C,R3
    02A9 9220022B  STS	0x22B,R2
(0115)     OSEventFreeList                          = &OSEventTbl[0];    
    02AB E283      LDI	R24,0x23
    02AC E092      LDI	R25,2
    02AD 93900234  STS	_OSEventFreeList+1,R25
    02AF 93800233  STS	_OSEventFreeList,R24
(0116) #endif
(0117) 
(0118) #if OS_STK_GROWTH == 1
(0119)     OSTaskCreate(OSTaskIdle, (void *)0, &OSTaskIdleStk[OS_TASK_IDLE_STK_SIZE - 1], OS_IDLE_PRIO);
    02B1 E08F      LDI	R24,0xF
    02B2 838A      STD	R24,2+Y
    02B3 EE88      LDI	R24,0xE8
    02B4 E091      LDI	R25,1
    02B5 8388      STD	R24,0+Y
    02B6 8399      STD	R25,1+Y
    02B7 2722      CLR	R18
    02B8 2733      CLR	R19
    02B9 E20A      LDI	R16,0x2A
    02BA E010      LDI	R17,0
    02BB D315      RCALL	_OSTaskCreate
(0120) #else
(0121)     OSTaskCreate(OSTaskIdle, (void *)0, &OSTaskIdleStk[0], OS_IDLE_PRIO);
(0122) #endif
(0123) 
(0124) }
    02BC 9623      ADIW	R28,3
    02BD D51F      RCALL	pop_gset3x
    02BE 9508      RET
(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();
_OSIntExit:
    02BF 930A      ST	R16,-Y
    02C0 B70F      IN	R16,P3F
    02C1 94F8      BCLR	7
    02C2 930F      PUSH	R16
    02C3 9109      LD	R16,Y+
(0148)     if ((--OSIntNesting | OSLockNesting) == 0) { /* Reschedule only if all ISRs completed & not locked */
    02C4 9180021E  LDS	R24,_OSIntNesting
    02C6 5081      SUBI	R24,1
    02C7 2E28      MOV	R2,R24
    02C8 9220021E  STS	_OSIntNesting,R2
    02CA 9040021D  LDS	R4,_OSLockNesting
    02CC 2824      OR	R2,R4
    02CD F009      BEQ	0x02CF
    02CE C04F      RJMP	0x031E
(0149)         OSIntExitY    = OSUnMapTbl[OSRdyGrp];
    02CF E384      LDI	R24,0x34
    02D0 E090      LDI	R25,0
    02D1 91E0021A  LDS	R30,_OSRdyGrp
    02D3 27FF      CLR	R31
    02D4 0FE8      ADD	R30,R24
    02D5 1FF9      ADC	R31,R25
    02D6 91E4      LPM	R30,0(Z)
    02D7 93E001E9  STS	0x1E9,R30
(0150)         OSPrioHighRdy = (INT8U)((OSIntExitY << 3) + OSUnMapTbl[OSRdyTbl[OSIntExitY]]);
    02D9 E188      LDI	R24,0x18
    02DA E092      LDI	R25,2
    02DB 27FF      CLR	R31
    02DC 0FE8      ADD	R30,R24
    02DD 1FF9      ADC	R31,R25
    02DE 81E0      LDD	R30,0+Z
    02DF 27FF      CLR	R31
    02E0 E384      LDI	R24,0x34
    02E1 E090      LDI	R25,0
    02E2 0FE8      ADD	R30,R24
    02E3 1FF9      ADC	R31,R25
    02E4 9024      LPM	R2,0(Z)
    02E5 2433      CLR	R3
    02E6 904001E9  LDS	R4,0x1E9
    02E8 2455      CLR	R5
    02E9 0C44      LSL	R4
    02EA 1C55      ROL	R5
    02EB 0C44      LSL	R4
    02EC 1C55      ROL	R5
    02ED 0C44      LSL	R4
    02EE 1C55      ROL	R5
    02EF 0C42      ADD	R4,R2
    02F0 1C53      ADC	R5,R3
    02F1 9240021B  STS	_OSPrioHighRdy,R4
(0151)         if (OSPrioHighRdy != OSPrioCur) {        /* No context switch if current task is highest ready */
    02F3 9020021C  LDS	R2,_OSPrioCur
    02F5 1442      CP	R4,R2
    02F6 F139      BEQ	0x031E
(0152)             OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy];
    02F7 2C24      MOV	R2,R4
    02F8 E082      LDI	R24,2
    02F9 9D82      MUL	R24,R2
    02FA 01F0      MOVW	R30,R0
    02FB EE8E      LDI	R24,0xEE
    02FC E091      LDI	R25,1
    02FD 0FE8      ADD	R30,R24
    02FE 1FF9      ADC	R31,R25
    02FF 8020      LDD	R2,0+Z
    0300 8031      LDD	R3,1+Z
    0301 92300211  STS	_OSTCBHighRdy+1,R3
    0303 92200210  STS	_OSTCBHighRdy,R2
(0153)             OSCtxSwCtr++;                        /* Keep track of the number of context switches       */
    0305 E081      LDI	R24,1
    0306 E090      LDI	R25,0
    0307 E0A0      LDI	R26,0
    0308 E0B0      LDI	R27,0
    0309 90400237  LDS	R4,_OSCtxSwCtr+2
    030B 90500238  LDS	R5,_OSCtxSwCtr+3
    030D 90200235  LDS	R2,_OSCtxSwCtr
    030F 90300236  LDS	R3,_OSCtxSwCtr+1
    0311 0E28      ADD	R2,R24
    0312 1E39      ADC	R3,R25
    0313 1E4A      ADC	R4,R26
    0314 1E5B      ADC	R5,R27
    0315 92300236  STS	_OSCtxSwCtr+1,R3
    0317 92200235  STS	_OSCtxSwCtr,R2
    0319 92500238  STS	_OSCtxSwCtr+3,R5
    031B 92400237  STS	_OSCtxSwCtr+2,R4
(0154)             OSIntCtxSw();                        /* Perform interrupt level context switch             */
    031D D40F      RCALL	_OSIntCtxSw
(0155)         }
(0156)     }
(0157)     OS_EXIT_CRITICAL();
    031E 930A      ST	R16,-Y
    031F 910F      POP	R16
    0320 BF0F      OUT	P3F,R16
    0321 9109      LD	R16,Y+
(0158) }
    0322 9508      RET
_OSSched:
  y                    --> R10
    0323 D4C9      RCALL	push_gset3x
(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();
    0324 930A      ST	R16,-Y
    0325 B70F      IN	R16,P3F
    0326 94F8      BCLR	7
    0327 930F      PUSH	R16
    0328 9109      LD	R16,Y+
(0183)     if ((OSLockNesting | OSIntNesting) == 0) {   /* Task scheduling must be enabled and not ISR level  */
    0329 9020021E  LDS	R2,_OSIntNesting
    032B 9030021D  LDS	R3,_OSLockNesting
    032D 2832      OR	R3,R2
    032E F009      BEQ	0x0330
    032F C04D      RJMP	0x037D
(0184)         y             = OSUnMapTbl[OSRdyGrp];    /* Get pointer to highest priority task ready to run  */
    0330 E384      LDI	R24,0x34
    0331 E090      LDI	R25,0
    0332 91E0021A  LDS	R30,_OSRdyGrp
    0334 27FF      CLR	R31
    0335 0FE8      ADD	R30,R24
    0336 1FF9      ADC	R31,R25
    0337 90A4      LPM	R10,0(Z)
(0185)         OSPrioHighRdy = (INT8U)((y << 3) + OSUnMapTbl[OSRdyTbl[y]]);
    0338 E188      LDI	R24,0x18
    0339 E092      LDI	R25,2
    033A 2DEA      MOV	R30,R10
    033B 27FF      CLR	R31
    033C 0FE8      ADD	R30,R24
    033D 1FF9      ADC	R31,R25
    033E 81E0      LDD	R30,0+Z
    033F 27FF      CLR	R31
    0340 E384      LDI	R24,0x34
    0341 E090      LDI	R25,0
    0342 0FE8      ADD	R30,R24
    0343 1FF9      ADC	R31,R25
    0344 9024      LPM	R2,0(Z)
    0345 2433      CLR	R3
    0346 2C4A      MOV	R4,R10
    0347 2455      CLR	R5
    0348 0C44      LSL	R4
    0349 1C55      ROL	R5
    034A 0C44      LSL	R4
    034B 1C55      ROL	R5
    034C 0C44      LSL	R4
    034D 1C55      ROL	R5
    034E 0C42      ADD	R4,R2
    034F 1C53      ADC	R5,R3
    0350 9240021B  STS	_OSPrioHighRdy,R4
(0186)         if (OSPrioHighRdy != OSPrioCur) {         /* No context switch if current task is highest ready */
    0352 9020021C  LDS	R2,_OSPrioCur
    0354 1442      CP	R4,R2
    0355 F139      BEQ	0x037D
(0187)             OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy];
    0356 2C24      MOV	R2,R4
    0357 E082      LDI	R24,2
    0358 9D82      MUL	R24,R2
    0359 01F0      MOVW	R30,R0
    035A EE8E      LDI	R24,0xEE
    035B E091      LDI	R25,1
    035C 0FE8      ADD	R30,R24
    035D 1FF9      ADC	R31,R25
    035E 8020      LDD	R2,0+Z
    035F 8031      LDD	R3,1+Z
    0360 92300211  STS	_OSTCBHighRdy+1,R3
    0362 92200210  STS	_OSTCBHighRdy,R2
(0188)             OSCtxSwCtr++;                        /* Increment context switch counter                   */
    0364 E081      LDI	R24,1
    0365 E090      LDI	R25,0
    0366 E0A0      LDI	R26,0
    0367 E0B0      LDI	R27,0
    0368 90400237  LDS	R4,_OSCtxSwCtr+2
    036A 90500238  LDS	R5,_OSCtxSwCtr+3
    036C 90200235  LDS	R2,_OSCtxSwCtr
    036E 90300236  LDS	R3,_OSCtxSwCtr+1
    0370 0E28      ADD	R2,R24
    0371 1E39      ADC	R3,R25
    0372 1E4A      ADC	R4,R26
    0373 1E5B      ADC	R5,R27
    0374 92300236  STS	_OSCtxSwCtr+1,R3
    0376 92200235  STS	_OSCtxSwCtr,R2
    0378 92500238  STS	_OSCtxSwCtr+3,R5
    037A 92400237  STS	_OSCtxSwCtr+2,R4
(0189)             OS_TASK_SW();                        /* Perform a context switch                           */
    037C D353      RCALL	_OSCtxSw
(0190)         }
(0191)     }
(0192)     OS_EXIT_CRITICAL();
    037D 930A      ST	R16,-Y
    037E 910F      POP	R16
    037F BF0F      OUT	P3F,R16
    0380 9109      LD	R16,Y+
(0193) }
    0381 D45B      RCALL	pop_gset3x
    0382 9508      RET
_OSStart:
  x                    --> R12
  y                    --> R10
    0383 D46C      RCALL	push_gset4x
(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) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九久久精品视频| 中文字幕中文字幕一区| 亚洲一区二区美女| 一本大道久久a久久综合婷婷| 久久久99精品免费观看| a亚洲天堂av| 亚洲欧洲一区二区三区| av日韩在线网站| 亚洲激情欧美激情| 欧美最猛黑人xxxxx猛交| 亚洲自拍偷拍九九九| 在线成人免费观看| 日本不卡一区二区| 国产婷婷色一区二区三区在线| 成人免费毛片app| 亚洲一区免费在线观看| 日韩视频一区二区三区 | 91精品国产麻豆| 麻豆精品国产传媒mv男同| 久久精品综合网| 91一区二区在线| 日本欧美一区二区在线观看| 精品福利一区二区三区免费视频| 成人少妇影院yyyy| 男女男精品网站| 国产精品国产三级国产aⅴ原创| 欧美日韩一区二区在线观看| 国产在线播放一区| 天堂影院一区二区| 国产精品护士白丝一区av| 日韩一级完整毛片| 欧美亚洲一区三区| 不卡av免费在线观看| 激情欧美日韩一区二区| 亚洲一区二区av电影| 亚洲国产岛国毛片在线| 精品国产污污免费网站入口 | 久久久蜜臀国产一区二区| 色中色一区二区| 不卡大黄网站免费看| 国产一区二区三区四| 久久精品99国产精品日本| 丝袜美腿一区二区三区| 一区二区三区91| 亚洲男同1069视频| 亚洲欧美国产77777| 久久激情五月激情| 精品无人码麻豆乱码1区2区| 人人超碰91尤物精品国产| 五月婷婷激情综合| 日韩制服丝袜av| 久久av中文字幕片| 国产不卡视频在线播放| 国产99久久久久| 不卡一区二区三区四区| 色综合天天综合色综合av | 91在线云播放| 在线免费观看一区| 91.麻豆视频| 日韩欧美精品三级| 国产精品久99| 五月婷婷久久丁香| 精品一区二区三区免费毛片爱 | 老司机免费视频一区二区| 激情深爱一区二区| 99精品久久99久久久久| 欧美色视频一区| 精品国产伦一区二区三区观看方式 | 亚洲女同女同女同女同女同69| 亚洲一区二区在线视频| 美日韩一区二区| 91亚洲大成网污www| 欧美三级电影网| 日韩欧美在线网站| 精品国产伦一区二区三区观看体验 | 国产精品一区久久久久| 欧美亚洲综合另类| 中文字幕一区二区三区色视频| 成人欧美一区二区三区视频网页| 午夜成人免费视频| 成人成人成人在线视频| 日韩免费在线观看| 亚洲一区二区美女| 国产不卡免费视频| 8v天堂国产在线一区二区| 一区二区成人在线观看| 久久精品二区亚洲w码| 在线观看国产一区二区| 久久久久国产精品麻豆ai换脸 | 欧美日韩大陆一区二区| 亚洲精品成人天堂一二三| 国产成人在线视频网址| 日韩精品中文字幕一区二区三区| 一区二区三区 在线观看视频| 成人精品鲁一区一区二区| 久久精品人人做人人爽97| 久久国产乱子精品免费女| 欧美男女性生活在线直播观看| 一区二区三区91| 欧美色视频一区| 五月综合激情婷婷六月色窝| 在线观看91精品国产麻豆| 蜜桃一区二区三区四区| 精品日本一线二线三线不卡| 黄网站免费久久| 91精品久久久久久久久99蜜臂| 亚洲国产综合在线| 91精品麻豆日日躁夜夜躁| 精品无人码麻豆乱码1区2区| 国产无人区一区二区三区| 不卡一区在线观看| 亚洲成人久久影院| 精品国产一区二区精华| 99久久夜色精品国产网站| 亚洲综合免费观看高清完整版在线| 91国偷自产一区二区开放时间 | 成人精品国产福利| 亚洲一级电影视频| 精品久久免费看| 成人午夜av在线| 丝袜国产日韩另类美女| 精品国产伦一区二区三区免费| 日本大香伊一区二区三区| 韩日欧美一区二区三区| 亚洲综合久久久久| 国产精品卡一卡二卡三| 欧美日韩一区二区三区在线| 国产大陆精品国产| 看片网站欧美日韩| 无码av中文一区二区三区桃花岛| 国产日韩欧美在线一区| 欧美一级理论片| 91精品视频网| 91.com在线观看| 欧美日韩国产精选| 欧美综合色免费| 色综合天天综合在线视频| 国产成人自拍高清视频在线免费播放| 亚洲电影一区二区三区| 一区视频在线播放| 国产精品久久久久久亚洲伦| 国产日产欧产精品推荐色| 日韩色在线观看| 日韩一级免费观看| 欧美一级片免费看| 制服丝袜在线91| 91精品国产综合久久久久久久| 欧美日韩免费电影| 久久精品免视看| 国产精品久久久久久久久免费桃花| 久久精品夜色噜噜亚洲a∨| 久久综合一区二区| 国产亚洲视频系列| 国产女人水真多18毛片18精品视频| 日韩欧美一区在线| 久久欧美一区二区| 国产精品欧美一区喷水| 成人欧美一区二区三区视频网页| 国产精品色哟哟| 亚洲一区国产视频| 毛片一区二区三区| 成人av电影免费观看| 欧美三级电影网| 久久久五月婷婷| 亚洲综合精品自拍| 国产综合色在线| 91视频一区二区三区| 91精品福利在线一区二区三区| 日韩免费在线观看| 亚洲日本青草视频在线怡红院| 天天色图综合网| 91丨porny丨中文| 久久一日本道色综合| 天堂午夜影视日韩欧美一区二区| 国产98色在线|日韩| 337p亚洲精品色噜噜| 最新国产精品久久精品| 国产伦精品一区二区三区视频青涩 | 91精选在线观看| 国产精品久久久久久久裸模| 日韩av电影免费观看高清完整版| 波多野结衣中文一区| 26uuu国产日韩综合| 免费三级欧美电影| 欧美精品久久一区| 樱花影视一区二区| 成人免费毛片片v| 国产欧美一区在线| 国产福利一区在线观看| 欧美成人伊人久久综合网| 天堂影院一区二区| 欧美疯狂性受xxxxx喷水图片| 一区二区三区视频在线看| caoporen国产精品视频| 国产精品成人免费| 91麻豆国产精品久久| 国产精品久久久久三级| 99久久综合99久久综合网站| 中文字幕欧美国产| 99精品视频免费在线观看|