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

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

?? ucos.lst

?? 基于ATmega8的ucosII應用,ATmega8上的ucosII開發。
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    048A 9109      LD	R16,Y+
(0336)         return (OS_NO_MORE_TCB);
    048B E406      LDI	R16,0x46
    048C D379      RCALL	pop_gset3x
    048D 9508      RET
(0337)     }
(0338) }
(0339) /*$PAGE*/
(0340) /*
(0341) *********************************************************************************************************
(0342) *                                         PROCESS SYSTEM TICK
(0343) *
(0344) * Description: This function is used to signal to uC/OS-II the occurrence of a 'system tick' (also known
(0345) *              as a 'clock tick').  This function should be called by the ticker ISR but, can also be
(0346) *              called by a high priority task.
(0347) *
(0348) * Arguments  : none
(0349) *
(0350) * Returns    : none
(0351) *********************************************************************************************************
(0352) */
(0353) 
(0354) void OSTimeTick (void)
(0355) {
(0356)     OS_TCB *ptcb;
(0357) 
(0358)     ptcb = OSTCBList;                                      /* Point at first TCB in TCB list           */
_OSTimeTick:
  ptcb                 --> R16
    048E 91000225  LDS	R16,_OSTCBList
    0490 91100226  LDS	R17,_OSTCBList+1
    0492 C03F      RJMP	0x04D2
(0359)     while (ptcb->OSTCBPrio != OS_IDLE_PRIO) {              /* Go through all TCBs in TCB list          */
(0360)         OS_ENTER_CRITICAL();
    0493 930A      ST	R16,-Y
    0494 B70F      IN	R16,0x3F
    0495 94F8      BCLR	7
    0496 930F      PUSH	R16
    0497 9109      LD	R16,Y+
(0361)         if (ptcb->OSTCBDly != 0) {                         /* Delayed or waiting for event with TO     */
    0498 01F8      MOVW	R30,R16
    0499 8026      LDD	R2,Z+6
    049A 8037      LDD	R3,Z+7
    049B 2022      TST	R2
    049C F419      BNE	0x04A0
    049D 2033      TST	R3
    049E F409      BNE	0x04A0
    049F C02B      RJMP	0x04CB
(0362)             if (--ptcb->OSTCBDly == 0) {                   /* Decrement nbr of ticks to end of delay   */
    04A0 01C8      MOVW	R24,R16
    04A1 9606      ADIW	R24,6
    04A2 01FC      MOVW	R30,R24
    04A3 8180      LDD	R24,Z+0
    04A4 8191      LDD	R25,Z+1
    04A5 9701      SBIW	R24,1
    04A6 012C      MOVW	R4,R24
    04A7 8251      STD	Z+1,R5
    04A8 8240      STD	Z+0,R4
    04A9 3080      CPI	R24,0
    04AA 0789      CPC	R24,R25
    04AB F009      BEQ	0x04AD
    04AC C01E      RJMP	0x04CB
(0363)                 if (!(ptcb->OSTCBStat & OS_STAT_SUSPEND)) {    /* Is task suspended?                   */
    04AD 01F8      MOVW	R30,R16
    04AE 8420      LDD	R2,Z+8
    04AF FC23      SBRC	R2,3
    04B0 C015      RJMP	0x04C6
(0364)                     OSRdyGrp               |= ptcb->OSTCBBitY; /* No,  Make task Rdy to Run (timed out)*/
    04B1 01F8      MOVW	R30,R16
    04B2 8425      LDD	R2,Z+13
    04B3 90300231  LDS	R3,_OSRdyGrp
    04B5 2832      OR	R3,R2
    04B6 92300231  STS	_OSRdyGrp,R3
(0365)                     OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
    04B8 E28F      LDI	R24,0x2F
    04B9 E092      LDI	R25,2
    04BA 01F8      MOVW	R30,R16
    04BB 8423      LDD	R2,Z+11
    04BC 2433      CLR	R3
    04BD 0E28      ADD	R2,R24
    04BE 1E39      ADC	R3,R25
    04BF 01F8      MOVW	R30,R16
    04C0 8444      LDD	R4,Z+12
    04C1 01F1      MOVW	R30,R2
    04C2 8050      LDD	R5,Z+0
    04C3 2854      OR	R5,R4
    04C4 8250      STD	Z+0,R5
(0366)                 } else {                                       /* Yes, Leave 1 tick to prevent ...     */
    04C5 C005      RJMP	0x04CB
(0367)                     ptcb->OSTCBDly = 1;                        /* ... loosing the task when the ...    */
    04C6 E081      LDI	R24,1
    04C7 E090      LDI	R25,0
    04C8 01F8      MOVW	R30,R16
    04C9 8397      STD	Z+7,R25
    04CA 8386      STD	Z+6,R24
(0368)                 }                                              /* ... suspension is removed.           */
(0369)             }
(0370)         }
(0371)         ptcb = ptcb->OSTCBNext;                            /* Point at next TCB in TCB list            */
    04CB 01F8      MOVW	R30,R16
    04CC 8102      LDD	R16,Z+2
    04CD 8113      LDD	R17,Z+3
(0372)         OS_EXIT_CRITICAL();
    04CE 930A      ST	R16,-Y
    04CF 910F      POP	R16
    04D0 BF0F      OUT	0x3F,R16
    04D1 9109      LD	R16,Y+
    04D2 01F8      MOVW	R30,R16
    04D3 8581      LDD	R24,Z+9
    04D4 308F      CPI	R24,0xF
    04D5 F009      BEQ	0x04D7
    04D6 CFBC      RJMP	0x0493
(0373)     }
(0374)     OS_ENTER_CRITICAL();                                   /* Update the 32-bit tick counter           */
    04D7 930A      ST	R16,-Y
    04D8 B70F      IN	R16,0x3F
    04D9 94F8      BCLR	7
    04DA 930F      PUSH	R16
    04DB 9109      LD	R16,Y+
(0375)     OSTime++;
    04DC E081      LDI	R24,1
    04DD E090      LDI	R25,0
    04DE E0A0      LDI	R26,0
    04DF E0B0      LDI	R27,0
    04E0 90400203  LDS	R4,_OSTime+2
    04E2 90500204  LDS	R5,_OSTime+3
    04E4 90200201  LDS	R2,_OSTime
    04E6 90300202  LDS	R3,_OSTime+1
    04E8 0E28      ADD	R2,R24
    04E9 1E39      ADC	R3,R25
    04EA 1E4A      ADC	R4,R26
    04EB 1E5B      ADC	R5,R27
    04EC 92300202  STS	_OSTime+1,R3
    04EE 92200201  STS	_OSTime,R2
    04F0 92500204  STS	_OSTime+3,R5
    04F2 92400203  STS	_OSTime+2,R4
(0376)     OS_EXIT_CRITICAL();
    04F4 930A      ST	R16,-Y
    04F5 910F      POP	R16
    04F6 BF0F      OUT	0x3F,R16
    04F7 9109      LD	R16,Y+
(0377) }
    04F8 9508      RET
_OSTaskStkInit:
  stks                 --> R14
  tmp                  --> R12
  stk                  --> R10
  opt                  --> Y+8
  ptos                 --> Y+6
  pdata                --> R18
  task                 --> R16
    04F9 D322      RCALL	push_gset5x
FILE: F:\ICC\project\ucos_m8_icc\source\os_task.c
(0001) 
(0002) #ifndef  OS_MASTER_FILE
(0003) #include "includes.h"
(0004) #endif
(0005) 
(0006) /*$PAGE*/
(0007) /*
(0008) *********************************************************************************************************
(0009) *                                            CREATE A TASK
(0010) *
(0011) * Description: This function is used to have uC/OS-II manage the execution of a task.  Tasks can either
(0012) *              be created prior to the start of multitasking or by a running task.  A task cannot be
(0013) *              created by an ISR.
(0014) *
(0015) * Arguments  : task     is a pointer to the task's code
(0016) *
(0017) *              pdata    is a pointer to an optional data area which can be used to pass parameters to
(0018) *                       the task when the task first executes.  Where the task is concerned it thinks
(0019) *                       it was invoked and passed the argument 'pdata' as follows:
(0020) *
(0021) *                           void Task (void *pdata)
(0022) *                           {
(0023) *                               for (;;) {
(0024) *                                   Task code;
(0025) *                               }
(0026) *                           }
(0027) *
(0028) *              ptos     is a pointer to the task's top of stack.  If the configuration constant 
(0029) *                       OS_STK_GROWTH is set to 1, the stack is assumed to grow downward (i.e. from high
(0030) *                       memory to low memory).  'pstk' will thus point to the highest (valid) memory 
(0031) *                       location of the stack.  If OS_STK_GROWTH is set to 0, 'pstk' will point to the 
(0032) *                       lowest memory location of the stack and the stack will grow with increasing
(0033) *                       memory locations.
(0034) *
(0035) *              prio     is the task's priority.  A unique priority MUST be assigned to each task and the
(0036) *                       lower the number, the higher the priority.
(0037) *
(0038) * Returns    : OS_NO_ERR        if the function was successful.
(0039) *              OS_PRIO_EXIT     if the task priority already exist 
(0040) *                               (each task MUST have a unique priority).
(0041) *              OS_PRIO_INVALID  if the priority you specify is higher that the maximum allowed 
(0042) *                               (i.e. >= OS_LOWEST_PRIO)
(0043) *********************************************************************************************************
(0044) */
(0045) 
(0046) #if OS_TASK_CREATE_EN
(0047) OS_STK *OSTaskStkInit (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt){
(0048) 
(0049)     INT8U  *stk;
(0050)     INT8U  *stks;		// Temp. variable used for setting up AVR hardware stack
(0051)     INT16U tmp;
(0052) 
(0053) 
(0054)     opt     = opt;			// 'opt' is not used, prevent warning
(0055)     stk     = (INT8U *)ptos;		// Wandlung von ptos in Bytezeiger
    04FA 80AE      LDD	R10,Y+6
    04FB 80BF      LDD	R11,Y+7
(0056) 	// AVR return stack ("hardware stack")
(0057)     stks    = (INT8U *)(ptos)-(OS_TASK_DEF_STK_SIZE-32);
    04FC 01C5      MOVW	R24,R10
    04FD 5484      SUBI	R24,0x44
    04FE 4090      SBCI	R25,0
(0058) 
(0059) 	// the function address has an extra level of indirection. Fetch the
(0060)     // actual address.
(0061)     //    
(0062)     tmp = *(INT16U const *)task;
    04FF 01F8      MOVW	R30,R16
    0500 90C5      LPM	R12,Z+
    0501 90D4      LPM	R13,0(Z)
(0063)    
(0064) 	// 36 Bytes
(0065)     *stks-- = (INT8U)tmp;	//Put task start address on top of hardware stack
    0502 011C      MOVW	R2,R24
    0503 9701      SBIW	R24,1
    0504 01F1      MOVW	R30,R2
    0505 82C0      STD	Z+0,R12
(0066)     *stks-- = (INT8U)(tmp >> 8);
    0506 011C      MOVW	R2,R24
    0507 9701      SBIW	R24,1
    0508 017C      MOVW	R14,R24
    0509 0126      MOVW	R4,R12
    050A 2C45      MOV	R4,R5
    050B 2455      CLR	R5
    050C 01F1      MOVW	R30,R2
    050D 8240      STD	Z+0,R4
(0067) 
(0068)     *stk-- = (INT8U)0x00;		// R0  = 0x00
    050E 0115      MOVW	R2,R10
    050F 01C1      MOVW	R24,R2
    0510 9701      SBIW	R24,1
    0511 2444      CLR	R4
    0512 01F1      MOVW	R30,R2
    0513 8240      STD	Z+0,R4
(0069)     *stk-- = (INT8U)0x01; 
    0514 011C      MOVW	R2,R24
    0515 9701      SBIW	R24,1
    0516 015C      MOVW	R10,R24
    0517 E081      LDI	R24,1
    0518 01F1      MOVW	R30,R2
    0519 8380      STD	Z+0,R24
(0070)     *stk-- = (INT8U)0x02;
    051A 0115      MOVW	R2,R10
    051B 01C1      MOVW	R24,R2
    051C 9701      SBIW	R24,1
    051D 015C      MOVW	R10,R24
    051E E082      LDI	R24,2
    051F 01F1      MOVW	R30,R2
    0520 8380      STD	Z+0,R24
(0071)     *stk-- = (INT8U)0x03;
    0521 0115      MOVW	R2,R10
    0522 01C1      MOVW	R24,R2
    0523 9701      SBIW	R24,1
    0524 015C      MOVW	R10,R24
    0525 E083      LDI	R24,3
    0526 01F1      MOVW	R30,R2
    0527 8380      STD	Z+0,R24
(0072)     *stk-- = (INT8U)0x04;
    0528 0115      MOVW	R2,R10
    0529 01C1      MOVW	R24,R2
    052A 9701      SBIW	R24,1
    052B 015C      MOVW	R10,R24
    052C E084      LDI	R24,4
    052D 01F1      MOVW	R30,R2
    052E 8380      STD	Z+0,R24
(0073)     *stk-- = (INT8U)0x05;
    052F 0115      MOVW	R2,R10
    0530 01C1      MOVW	R24,R2
    0531 9701      SBIW	R24,1
    0532 015C      MOVW	R10,R24
    0533 E085      LDI	R24,5
    0534 01F1      MOVW	R30,R2
    0535 8380      STD	Z+0,R24
(0074)     *stk-- = (INT8U)0x06;
    0536 0115      MOVW	R2,R10
    0537 01C1      MOVW	R24,R2
    0538 9701      SBIW	R24,1
    0539 015C      MOVW	R10,R24
    053A E086      LDI	R24,6
    053B 01F1      MOVW	R30,R2
    053C 8380      STD	Z+0,R24
(0075)     *stk-- = (INT8U)0x07;
    053D 0115      MOVW	R2,R10
    053E 01C1      MOVW	R24,R2
    053F 9701      SBIW	R24,1
    0540 015C      MOVW	R10,R24
    0541 E087      LDI	R24,7
    0542 01F1      MOVW	R30,R2
    0543 8380      STD	Z+0,R24
(0076)     *stk-- = (INT8U)0x08;
    0544 0115      MOVW	R2,R10
    0545 01C1      MOVW	R24,R2
    0546 9701      SBIW	R24,1
    0547 015C      MOVW	R10,R24
    0548 E088      LDI	R24,0x8
    0549 01F1      MOVW	R30,R2
    054A 8380      STD	Z+0,R24
(0077)     *stk-- = (INT8U)0x09;
    054B 0115      MOVW	R2,R10
    054C 01C1      MOVW	R24,R2
    054D 9701      SBIW	R24,1
    054E 015C      MOVW	R10,R24
    054F E089      LDI	R24,0x9
    0550 01F1      MOVW	R30,R2
    0551 8380      STD	Z+0,R24
(0078)     *stk-- = (INT8U)0x10;
    0552 0115      MOVW	R2,R10
    0553 01C1      MOVW	R24,R2
    0554 9701      SBIW	R24,1
    0555 015C      MOVW	R10,R24
    0556 E180      LDI	R24,0x10
    0557 01F1      MOVW	R30,R2
    0558 8380      STD	Z+0,R24
(0079)     *stk-- = (INT8U)0x11;
    0559 0115      MOVW	R2,R10
    055A 01C1      MOVW	R24,R2
    055B 9701      SBIW	R24,1
    055C 015C      MOVW	R10,R24
    055D E181      LDI	R24,0x11
    055E 01F1      MOVW	R30,R2
    055F 8380      STD	Z+0,R24
(0080)     *stk-- = (INT8U)0x12;
    0560 0115      MOVW	R2,R10
    0561 01C1      MOVW	R24,R2
    0562 9701      SBIW	R24,1
    0563 015C      MOVW	R10,R24
    0564 E182      LDI	R24,0x12
    0565 01F1      MOVW	R30,R2
    0566 8380      STD	Z+0,R24
(0081)     *stk-- = (INT8U)0x13;
    0567 0115      MOVW	R2,R10
    0568 01C1      MOVW	R24,R2
    0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
樱桃视频在线观看一区| 欧美日韩高清在线播放| 午夜精品一区二区三区免费视频| 欧美本精品男人aⅴ天堂| www.久久久久久久久| 久久精品国产一区二区| 亚洲精品一二三| 欧美国产精品专区| 欧美一级xxx| 欧美精品久久久久久久久老牛影院| 91亚洲男人天堂| 91麻豆精品视频| 91美女蜜桃在线| 制服丝袜亚洲精品中文字幕| 色悠悠久久综合| 在线视频综合导航| 91精品国产色综合久久不卡电影 | 日韩三级精品电影久久久 | 欧美一区午夜精品| 777欧美精品| 日韩免费一区二区| 欧美大尺度电影在线| 精品国产一二三| 欧美zozo另类异族| 欧美国产国产综合| 亚洲视频在线一区| 亚洲国产sm捆绑调教视频| 日本午夜精品视频在线观看| 精品一区二区三区免费视频| 丁香亚洲综合激情啪啪综合| 99精品国产一区二区三区不卡| 在线欧美一区二区| 日韩美一区二区三区| 国产精品乱码久久久久久| 亚洲另类中文字| 国产自产v一区二区三区c| 日本电影亚洲天堂一区| 精品少妇一区二区| 亚洲综合色成人| 国产91丝袜在线播放九色| 在线视频一区二区免费| 欧美zozo另类异族| 亚洲r级在线视频| 国产真实乱子伦精品视频| 日韩三级视频在线观看| 国产欧美日韩在线视频| 亚洲va韩国va欧美va| 99视频精品免费视频| 亚洲综合一二三区| 99精品久久99久久久久| 欧美一区二区三区在线观看视频| ...中文天堂在线一区| 国产在线精品免费av| 欧美日韩国产a| 亚洲一区在线观看网站| 色婷婷av一区二区三区gif | 国产性天天综合网| 蜜桃视频免费观看一区| 欧美美女bb生活片| 中文字幕一区二区三区在线播放| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩一二三区| 日韩精品一级中文字幕精品视频免费观看 | ...xxx性欧美| 成人黄色片在线观看| 欧美激情综合五月色丁香小说| 国产成人一级电影| 国产欧美精品一区aⅴ影院 | 亚洲一区影音先锋| 午夜精品福利一区二区三区av| 波多野结衣在线一区| 一色桃子久久精品亚洲| 99视频国产精品| 亚洲永久精品国产| 91精品国产综合久久久久| 美日韩一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 精品一区二区三区久久| 久久久www成人免费毛片麻豆 | 久久免费视频一区| 成人一区在线看| 亚洲综合色噜噜狠狠| 91麻豆精品国产91久久久| 久久99精品久久久久久久久久久久| 精品国产亚洲一区二区三区在线观看| 久久av资源网| 亚洲精品中文在线| 久久综合九色综合97婷婷| 色婷婷激情一区二区三区| 麻豆视频观看网址久久| 亚洲色图一区二区三区| 日韩精品一区二区在线观看| 一本高清dvd不卡在线观看| 蜜桃视频免费观看一区| 亚洲区小说区图片区qvod| 日韩欧美国产不卡| 欧美主播一区二区三区美女| 国产一区二区三区香蕉| 日本v片在线高清不卡在线观看| 国产精品三级av在线播放| 午夜精品久久久久久久久久| 日韩一区在线免费观看| 久久日一线二线三线suv| 91黄色激情网站| 色综合久久久久综合体| 国产一区二区不卡| 精品在线免费观看| 久久国产三级精品| 免费人成在线不卡| 91麻豆免费在线观看| 国产在线不卡一区| 美女视频一区二区三区| 午夜精品123| 午夜欧美在线一二页| 亚洲午夜久久久久久久久电影院 | 国产欧美精品在线观看| 国产日产欧美一区| 亚洲国产精品精华液ab| 国产亚洲欧美日韩俺去了| 欧美精品一区二区三区久久久| 欧美人伦禁忌dvd放荡欲情| 一本久久a久久免费精品不卡| 97国产一区二区| 欧洲一区二区av| 欧美乱熟臀69xxxxxx| 91麻豆精品久久久久蜜臀| 欧美久久久久久蜜桃| 欧美r级在线观看| 久久久综合视频| 亚洲老妇xxxxxx| 亚洲444eee在线观看| 久久99国内精品| 91在线精品一区二区| 欧美性xxxxxx少妇| 日韩精品一区二区在线| 国产精品国产三级国产aⅴ无密码| 亚洲观看高清完整版在线观看| 秋霞影院一区二区| 99久久精品国产导航| 日韩一二三区不卡| 国产精品久久久久久久久搜平片 | 欧美日本一区二区| 精品国产一区二区三区久久影院| 国产精品理论片| 日韩成人一区二区| 91视频www| 精品国产一区二区三区不卡| 亚洲免费视频成人| 国产精品一区专区| 在线播放中文字幕一区| 国产精品麻豆久久久| 国内精品写真在线观看| 91精品视频网| 亚洲男人电影天堂| 成人丝袜18视频在线观看| 欧美电影精品一区二区| 亚洲国产cao| 色婷婷久久久综合中文字幕| 中文欧美字幕免费| 精品亚洲成a人| 日韩免费电影一区| 久久精品国产网站| 欧美精品vⅰdeose4hd| 一区二区日韩av| 色综合天天综合网天天狠天天 | 99re成人在线| 国产精品久久毛片| 国产成人在线色| 国产精品免费视频网站| 成人免费视频网站在线观看| 欧美激情中文字幕一区二区| 懂色中文一区二区在线播放| 久久精品亚洲乱码伦伦中文| 国产91精品露脸国语对白| 国产婷婷色一区二区三区四区| 成人激情黄色小说| 亚洲欧美一区二区三区孕妇| 色哟哟国产精品| 亚洲电影一级黄| 精品对白一区国产伦| 成人性视频免费网站| 亚洲女同一区二区| 91精品中文字幕一区二区三区| 免费人成在线不卡| 欧美国产成人在线| 欧美日韩国产精选| 麻豆成人91精品二区三区| 国产欧美一二三区| 欧美日韩久久不卡| 激情综合色丁香一区二区| 国产精品天干天干在观线| 欧美久久久久久久久久| 国产精品456| 亚洲第一狼人社区| 国产午夜亚洲精品羞羞网站| 欧美在线观看一二区| 亚洲综合免费观看高清完整版 | 成人精品小蝌蚪| 日韩国产欧美视频| 一片黄亚洲嫩模|