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

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

?? ucos.lst

?? Atmega128的proteus仿真例程
?? LST
?? 第 1 頁 / 共 5 頁
字號:
(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
    046F 9100020E  LDS	R16,_OSTCBList
    0471 9110020F  LDS	R17,_OSTCBList+1
    0473 C03B      RJMP	0x04AF
(0359)     while (ptcb->OSTCBPrio != OS_IDLE_PRIO) {              /* Go through all TCBs in TCB list          */
(0360)         OS_ENTER_CRITICAL();
    0474 930A      ST	R16,-Y
    0475 B70F      IN	R16,P3F
    0476 94F8      BCLR	7
    0477 930F      PUSH	R16
    0478 9109      LD	R16,Y+
(0361)         if (ptcb->OSTCBDly != 0) {                         /* Delayed or waiting for event with TO     */
    0479 01F8      MOVW	R30,R16
    047A 8026      LDD	R2,6+Z
    047B 8037      LDD	R3,7+Z
    047C 2022      TST	R2
    047D F419      BNE	0x0481
    047E 2033      TST	R3
    047F F409      BNE	0x0481
    0480 C027      RJMP	0x04A8
(0362)             if (--ptcb->OSTCBDly == 0) {                   /* Decrement nbr of ticks to end of delay   */
    0481 01C8      MOVW	R24,R16
    0482 9606      ADIW	R24,6
    0483 01FC      MOVW	R30,R24
    0484 8180      LDD	R24,0+Z
    0485 8191      LDD	R25,1+Z
    0486 9701      SBIW	R24,1
    0487 012C      MOVW	R4,R24
    0488 8240      STD	R4,0+Z
    0489 8251      STD	R5,1+Z
    048A 3080      CPI	R24,0
    048B 0789      CPC	R24,R25
    048C F4D9      BNE	0x04A8
(0363)                 if (!(ptcb->OSTCBStat & OS_STAT_SUSPEND)) {    /* Is task suspended?                   */
    048D 01F8      MOVW	R30,R16
    048E 8420      LDD	R2,8+Z
    048F FC23      SBRC	R2,3
    0490 C012      RJMP	0x04A3
(0364)                     OSRdyGrp               |= ptcb->OSTCBBitY; /* No,  Make task Rdy to Run (timed out)*/
    0491 8425      LDD	R2,13+Z
    0492 9030021A  LDS	R3,_OSRdyGrp
    0494 2832      OR	R3,R2
    0495 9230021A  STS	_OSRdyGrp,R3
(0365)                     OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
    0497 E188      LDI	R24,0x18
    0498 E092      LDI	R25,2
    0499 8423      LDD	R2,11+Z
    049A 2433      CLR	R3
    049B 0E28      ADD	R2,R24
    049C 1E39      ADC	R3,R25
    049D 8444      LDD	R4,12+Z
    049E 01F1      MOVW	R30,R2
    049F 8050      LDD	R5,0+Z
    04A0 2854      OR	R5,R4
    04A1 8250      STD	R5,0+Z
(0366)                 } else {                                       /* Yes, Leave 1 tick to prevent ...     */
    04A2 C005      RJMP	0x04A8
(0367)                     ptcb->OSTCBDly = 1;                        /* ... loosing the task when the ...    */
    04A3 E081      LDI	R24,1
    04A4 E090      LDI	R25,0
    04A5 01F8      MOVW	R30,R16
    04A6 8386      STD	R24,6+Z
    04A7 8397      STD	R25,7+Z
(0368)                 }                                              /* ... suspension is removed.           */
(0369)             }
(0370)         }
(0371)         ptcb = ptcb->OSTCBNext;                            /* Point at next TCB in TCB list            */
    04A8 01F8      MOVW	R30,R16
    04A9 8102      LDD	R16,2+Z
    04AA 8113      LDD	R17,3+Z
(0372)         OS_EXIT_CRITICAL();
    04AB 930A      ST	R16,-Y
    04AC 910F      POP	R16
    04AD BF0F      OUT	P3F,R16
    04AE 9109      LD	R16,Y+
    04AF 01F8      MOVW	R30,R16
    04B0 8581      LDD	R24,9+Z
    04B1 308F      CPI	R24,0xF
    04B2 F009      BEQ	0x04B4
    04B3 CFC0      RJMP	0x0474
(0373)     }
(0374)     OS_ENTER_CRITICAL();                                   /* Update the 32-bit tick counter           */
    04B4 930A      ST	R16,-Y
    04B5 B70F      IN	R16,P3F
    04B6 94F8      BCLR	7
    04B7 930F      PUSH	R16
    04B8 9109      LD	R16,Y+
(0375)     OSTime++;
    04B9 E081      LDI	R24,1
    04BA E090      LDI	R25,0
    04BB E0A0      LDI	R26,0
    04BC E0B0      LDI	R27,0
    04BD 904001EC  LDS	R4,_OSTime+2
    04BF 905001ED  LDS	R5,_OSTime+3
    04C1 902001EA  LDS	R2,_OSTime
    04C3 903001EB  LDS	R3,_OSTime+1
    04C5 0E28      ADD	R2,R24
    04C6 1E39      ADC	R3,R25
    04C7 1E4A      ADC	R4,R26
    04C8 1E5B      ADC	R5,R27
    04C9 923001EB  STS	_OSTime+1,R3
    04CB 922001EA  STS	_OSTime,R2
    04CD 925001ED  STS	_OSTime+3,R5
    04CF 924001EC  STS	_OSTime+2,R4
(0376)     OS_EXIT_CRITICAL();
    04D1 930A      ST	R16,-Y
    04D2 910F      POP	R16
    04D3 BF0F      OUT	P3F,R16
    04D4 9109      LD	R16,Y+
(0377) }
    04D5 9508      RET
_OSTaskStkInit:
  stks                 --> R14
  tmp                  --> R12
  stk                  --> R10
  opt                  --> Y+8
  ptos                 --> Y+6
  pdata                --> R18
  task                 --> R16
    04D6 D31C      RCALL	push_gset5x
FILE: D:\job\avrtest\光盤\開發板\iccavr\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
    04D7 80AE      LDD	R10,6+Y
    04D8 80BF      LDD	R11,7+Y
(0056) 	// AVR return stack ("hardware stack")
(0057)     stks    = (INT8U *)(ptos)-(OS_TASK_DEF_STK_SIZE-32);
    04D9 818E      LDD	R24,6+Y
    04DA 819F      LDD	R25,7+Y
    04DB 5484      SUBI	R24,0x44
    04DC 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;
    04DD 01F8      MOVW	R30,R16
    04DE 90C5      LPM	R12,Z+
    04DF 90D4      LPM	R13,0(Z)
(0063)    
(0064) 	// 36 Bytes
(0065)     *stks-- = (INT8U)tmp;	//Put task start address on top of hardware stack
    04E0 011C      MOVW	R2,R24
    04E1 9701      SBIW	R24,1
    04E2 01F1      MOVW	R30,R2
    04E3 82C0      STD	R12,0+Z
(0066)     *stks-- = (INT8U)(tmp >> 8);
    04E4 011C      MOVW	R2,R24
    04E5 9701      SBIW	R24,1
    04E6 017C      MOVW	R14,R24
    04E7 0126      MOVW	R4,R12
    04E8 2C45      MOV	R4,R5
    04E9 2455      CLR	R5
    04EA 01F1      MOVW	R30,R2
    04EB 8240      STD	R4,0+Z
(0067) 
(0068)     *stk-- = (INT8U)0x00;		// R0  = 0x00
    04EC 0115      MOVW	R2,R10
    04ED 01C1      MOVW	R24,R2
    04EE 9701      SBIW	R24,1
    04EF 2444      CLR	R4
    04F0 01F1      MOVW	R30,R2
    04F1 8240      STD	R4,0+Z
(0069)     *stk-- = (INT8U)0x01; 
    04F2 011C      MOVW	R2,R24
    04F3 9701      SBIW	R24,1
    04F4 015C      MOVW	R10,R24
    04F5 E081      LDI	R24,1
    04F6 01F1      MOVW	R30,R2
    04F7 8380      STD	R24,0+Z
(0070)     *stk-- = (INT8U)0x02;
    04F8 0115      MOVW	R2,R10
    04F9 01C1      MOVW	R24,R2
    04FA 9701      SBIW	R24,1
    04FB 015C      MOVW	R10,R24
    04FC E082      LDI	R24,2
    04FD 01F1      MOVW	R30,R2
    04FE 8380      STD	R24,0+Z
(0071)     *stk-- = (INT8U)0x03;
    04FF 0115      MOVW	R2,R10
    0500 01C1      MOVW	R24,R2
    0501 9701      SBIW	R24,1
    0502 015C      MOVW	R10,R24
    0503 E083      LDI	R24,3
    0504 01F1      MOVW	R30,R2
    0505 8380      STD	R24,0+Z
(0072)     *stk-- = (INT8U)0x04;
    0506 0115      MOVW	R2,R10
    0507 01C1      MOVW	R24,R2
    0508 9701      SBIW	R24,1
    0509 015C      MOVW	R10,R24
    050A E084      LDI	R24,4
    050B 01F1      MOVW	R30,R2
    050C 8380      STD	R24,0+Z
(0073)     *stk-- = (INT8U)0x05;
    050D 0115      MOVW	R2,R10
    050E 01C1      MOVW	R24,R2
    050F 9701      SBIW	R24,1
    0510 015C      MOVW	R10,R24
    0511 E085      LDI	R24,5
    0512 01F1      MOVW	R30,R2
    0513 8380      STD	R24,0+Z
(0074)     *stk-- = (INT8U)0x06;
    0514 0115      MOVW	R2,R10
    0515 01C1      MOVW	R24,R2
    0516 9701      SBIW	R24,1
    0517 015C      MOVW	R10,R24
    0518 E086      LDI	R24,6
    0519 01F1      MOVW	R30,R2
    051A 8380      STD	R24,0+Z
(0075)     *stk-- = (INT8U)0x07;
    051B 0115      MOVW	R2,R10
    051C 01C1      MOVW	R24,R2
    051D 9701      SBIW	R24,1
    051E 015C      MOVW	R10,R24
    051F E087      LDI	R24,7
    0520 01F1      MOVW	R30,R2
    0521 8380      STD	R24,0+Z
(0076)     *stk-- = (INT8U)0x08;
    0522 0115      MOVW	R2,R10
    0523 01C1      MOVW	R24,R2
    0524 9701      SBIW	R24,1
    0525 015C      MOVW	R10,R24
    0526 E088      LDI	R24,0x8
    0527 01F1      MOVW	R30,R2
    0528 8380      STD	R24,0+Z
(0077)     *stk-- = (INT8U)0x09;
    0529 0115      MOVW	R2,R10
    052A 01C1      MOVW	R24,R2
    052B 9701      SBIW	R24,1
    052C 015C      MOVW	R10,R24
    052D E089      LDI	R24,0x9
    052E 01F1      MOVW	R30,R2
    052F 8380      STD	R24,0+Z
(0078)     *stk-- = (INT8U)0x10;
    0530 0115      MOVW	R2,R10
    0531 01C1      MOVW	R24,R2
    0532 9701      SBIW	R24,1
    0533 015C      MOVW	R10,R24
    0534 E180      LDI	R24,0x10
    0535 01F1      MOVW	R30,R2
    0536 8380      STD	R24,0+Z
(0079)     *stk-- = (INT8U)0x11;
    0537 0115      MOVW	R2,R10
    0538 01C1      MOVW	R24,R2
    0539 9701      SBIW	R24,1
    053A 015C      MOVW	R10,R24
    053B E181      LDI	R24,0x11
    053C 01F1      MOVW	R30,R2
    053D 8380      STD	R24,0+Z
(0080)     *stk-- = (INT8U)0x12;
    053E 0115      MOVW	R2,R10
    053F 01C1      MOVW	R24,R2
    0540 9701      SBIW	R24,1
    0541 015C      MOVW	R10,R24
    0542 E182      LDI	R24,0x12
    0543 01F1      MOVW	R30,R2
    0544 8380      STD	R24,0+Z
(0081)     *stk-- = (INT8U)0x13;
    0545 0115      MOVW	R2,R10
    0546 01C1      MOVW	R24,R2
    0547 9701      SBIW	R24,1
    0548 015C      MOVW	R10,R24
    0549 E183      LDI	R24,0x13
    054A 01F1      MOVW	R30,R2
    054B 8380      STD	R24,0+Z
(0082)     *stk-- = (INT8U)0x14;
    054C 0115      MOVW	R2,R10
    054D 01C1      MOVW	R24,R2
    054E 9701      SBIW	R24,1
    054F 015C      MOVW	R10,R24
    0550 E184      LDI	R24,0x14
    0551 01F1      MOVW	R30,R2
    0552 8380      STD	R24,0+Z
(0083)     *stk-- = (INT8U)0x15;
    0553 0115      MOVW	R2,R10
    0554 01C1      MOVW	R24,R2
    0555 9701      SBIW	R24,1
    0556 015C      MOVW	R10,R24
    0557 E185      LDI	R24,0x15
    0558 01F1      MOVW	R30,R2
    0559 8380      STD	R24,0+Z
(0084)     tmp    = (INT16U)pdata;
    055A 0169      MOVW	R12,R18
(0085)     *stk-- = (INT8U)tmp;	//Simulate call to function wit

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利资源站| av在线不卡观看免费观看| 亚洲免费观看高清完整版在线观看| 欧美大白屁股肥臀xxxxxx| 日韩一区二区视频| 欧美成人a在线| 久久久综合九色合综国产精品| 久久人人爽爽爽人久久久| 国产日产精品一区| 国产精品黄色在线观看| 亚洲精品一二三| 亚洲一区欧美一区| 日韩高清不卡在线| 国产一区二区在线观看视频| 国产成a人亚洲精| 一本色道久久综合亚洲91| 欧美视频日韩视频在线观看| 宅男在线国产精品| 国产三级精品三级在线专区| 亚洲综合另类小说| 久久国产精品第一页| 成人蜜臀av电影| 日本精品一级二级| 精品国产在天天线2019| 中文久久乱码一区二区| 亚洲成人精品一区二区| 美女脱光内衣内裤视频久久网站 | 一本大道av一区二区在线播放| 色综合久久久久| 日韩视频免费直播| 亚洲图片欧美激情| 精品写真视频在线观看| 不卡的av电影| 日韩欧美中文一区| 亚洲人成网站在线| 国内精品第一页| 在线亚洲精品福利网址导航| 欧美精品一区二区三区四区 | 午夜欧美2019年伦理| 精品亚洲国产成人av制服丝袜| 91原创在线视频| 欧美大片在线观看一区二区| 一区二区三区波多野结衣在线观看 | 欧美一区二区啪啪| 国产精品麻豆欧美日韩ww| 日韩av一区二区三区四区| www.日韩在线| 精品久久人人做人人爰| 亚洲影视在线播放| gogo大胆日本视频一区| 2024国产精品| 蜜臀av性久久久久蜜臀aⅴ| 色狠狠色狠狠综合| 国产精品女上位| 韩国欧美一区二区| 精品日本一线二线三线不卡| 亚洲一卡二卡三卡四卡无卡久久| 成人app软件下载大全免费| 制服丝袜激情欧洲亚洲| 亚洲欧美日韩一区二区| 国产91清纯白嫩初高中在线观看 | 99精品视频在线播放观看| 日韩欧美久久久| 日本人妖一区二区| 7777精品伊人久久久大香线蕉完整版| 亚洲欧美视频在线观看| 91色九色蝌蚪| 亚洲日本在线a| 94-欧美-setu| 日韩美女视频一区二区| 91精品婷婷国产综合久久竹菊| 亚洲人吸女人奶水| 播五月开心婷婷综合| 国产精品久久网站| 95精品视频在线| 一区二区三区在线视频观看 | 国产91精品在线观看| 久久亚洲欧美国产精品乐播| 国产伦理精品不卡| 欧美国产综合色视频| 成人avav影音| 夜夜揉揉日日人人青青一国产精品| 在线一区二区视频| 天天av天天翘天天综合网 | 国精产品一区一区三区mba桃花 | 精品久久久久久综合日本欧美| 久久精品国产精品亚洲红杏| 久久午夜免费电影| 高清shemale亚洲人妖| 亚洲欧美另类久久久精品2019| 色综合久久久久| 日韩精品一级中文字幕精品视频免费观看 | 久久综合色鬼综合色| 大白屁股一区二区视频| 亚洲人成亚洲人成在线观看图片 | 午夜精品久久久久久久蜜桃app| 久久久不卡网国产精品一区| 大尺度一区二区| 一区二区三区在线观看欧美| 欧美久久久久中文字幕| 久久电影国产免费久久电影| 国产欧美日韩视频在线观看| 色综合咪咪久久| 男人的天堂久久精品| 国产欧美日韩在线| 欧美日韩精品一区二区在线播放| 青青草视频一区| 久久99精品久久久久久久久久久久 | 福利电影一区二区三区| 亚洲精品日产精品乱码不卡| 日韩亚洲欧美一区二区三区| 成人久久久精品乱码一区二区三区| 亚洲精品v日韩精品| 日韩欧美在线不卡| 91福利在线导航| 国产九色sp调教91| 亚洲成人精品一区二区| 国产免费久久精品| 欧美va亚洲va| 欧美日韩一级片在线观看| 国产69精品久久777的优势| 午夜精品福利视频网站| 国产精品久久久久婷婷| 日韩欧美另类在线| 欧美日免费三级在线| 99久精品国产| 国产精品一区二区果冻传媒| 日本欧美一区二区| 亚洲午夜精品网| 亚洲精品一卡二卡| 国产精品理伦片| 久久综合色之久久综合| 91精品国产综合久久婷婷香蕉 | 欧美区在线观看| 日韩精品专区在线影院观看| 色婷婷av一区二区三区大白胸| 国产精品自在在线| 日日夜夜精品视频天天综合网| 亚洲激情自拍偷拍| 亚洲猫色日本管| 亚洲三级久久久| 国产精品国产精品国产专区不片 | 成人教育av在线| 成人午夜又粗又硬又大| 国产曰批免费观看久久久| 日本欧美一区二区三区乱码| 日日噜噜夜夜狠狠视频欧美人 | 国产原创一区二区| 蜜臀久久99精品久久久久宅男| 午夜电影网一区| 日本大胆欧美人术艺术动态| 亚洲成人久久影院| 免费日韩伦理电影| 久久99精品久久久久久动态图 | 国产91丝袜在线18| gogogo免费视频观看亚洲一| av亚洲精华国产精华精华| 成人app在线| 欧美亚洲一区二区在线观看| 在线精品亚洲一区二区不卡| 欧洲日韩一区二区三区| 欧美日韩精品一区视频| 日韩欧美国产精品| 久久精品男人天堂av| 中文一区一区三区高中清不卡| 国产精品女同互慰在线看| 尤物视频一区二区| 不卡一区二区中文字幕| 91视频国产观看| 欧美日韩精品福利| 亚洲精品在线免费播放| 国产精品系列在线| 香蕉久久一区二区不卡无毒影院| 日韩和欧美一区二区| 国产综合色视频| 日韩一级二级三级| 中文字幕巨乱亚洲| 中文字幕日韩欧美一区二区三区| 成人黄色综合网站| 蜜臀精品一区二区三区在线观看| 国产在线一区二区| 91色乱码一区二区三区| 欧美一级高清大全免费观看| 国产三级精品三级| 一二三四区精品视频| 蜜桃精品视频在线观看| 91在线精品一区二区三区| 91麻豆精品国产91久久久使用方法 | 日韩欧美一级在线播放| 国产精品女上位| 男女男精品视频| 色综合久久久久久久久| xnxx国产精品| 亚洲高清免费一级二级三级| 岛国精品在线播放| 在线电影欧美成精品| 国产丝袜美腿一区二区三区| 国产在线视视频有精品| 中文字幕高清一区| 亚洲丝袜自拍清纯另类|