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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ucos.lst

?? Atmega128的proteus仿真例程
?? LST
?? 第 1 頁 / 共 5 頁
字號:
    0384 90200217  LDS	R2,_OSRunning
    0386 2022      TST	R2
    0387 F009      BEQ	0x0389
    0388 C038      RJMP	0x03C1
(0220)         y             = OSUnMapTbl[OSRdyGrp];        /* Find highest priority's task priority number   */
    0389 E384      LDI	R24,0x34
    038A E090      LDI	R25,0
    038B 91E0021A  LDS	R30,_OSRdyGrp
    038D 27FF      CLR	R31
    038E 0FE8      ADD	R30,R24
    038F 1FF9      ADC	R31,R25
    0390 90A4      LPM	R10,0(Z)
(0221)         x             = OSUnMapTbl[OSRdyTbl[y]];
    0391 E188      LDI	R24,0x18
    0392 E092      LDI	R25,2
    0393 2DEA      MOV	R30,R10
    0394 27FF      CLR	R31
    0395 0FE8      ADD	R30,R24
    0396 1FF9      ADC	R31,R25
    0397 81E0      LDD	R30,0+Z
    0398 27FF      CLR	R31
    0399 E384      LDI	R24,0x34
    039A E090      LDI	R25,0
    039B 0FE8      ADD	R30,R24
    039C 1FF9      ADC	R31,R25
    039D 90C4      LPM	R12,0(Z)
(0222)         OSPrioHighRdy = (INT8U)((y << 3) + x);
    039E 2C2C      MOV	R2,R12
    039F 2433      CLR	R3
    03A0 2C4A      MOV	R4,R10
    03A1 2455      CLR	R5
    03A2 0C44      LSL	R4
    03A3 1C55      ROL	R5
    03A4 0C44      LSL	R4
    03A5 1C55      ROL	R5
    03A6 0C44      LSL	R4
    03A7 1C55      ROL	R5
    03A8 0C42      ADD	R4,R2
    03A9 1C53      ADC	R5,R3
    03AA 9240021B  STS	_OSPrioHighRdy,R4
(0223)         OSPrioCur     = OSPrioHighRdy;
    03AC 2C24      MOV	R2,R4
    03AD 9220021C  STS	_OSPrioCur,R2
(0224)         OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy]; /* Point to highest priority task ready to run    */
    03AF E082      LDI	R24,2
    03B0 9D82      MUL	R24,R2
    03B1 01F0      MOVW	R30,R0
    03B2 EE8E      LDI	R24,0xEE
    03B3 E091      LDI	R25,1
    03B4 0FE8      ADD	R30,R24
    03B5 1FF9      ADC	R31,R25
    03B6 8020      LDD	R2,0+Z
    03B7 8031      LDD	R3,1+Z
    03B8 92300211  STS	_OSTCBHighRdy+1,R3
    03BA 92200210  STS	_OSTCBHighRdy,R2
(0225)         OSTCBCur      = OSTCBHighRdy;
    03BC 92300215  STS	_OSTCBCur+1,R3
    03BE 92200214  STS	_OSTCBCur,R2
(0226)         OSStartHighRdy();                            /* Execute target specific code to start task     */
    03C0 D2DF      RCALL	_OSStartHighRdy
(0227)     }
(0228) }
    03C1 D427      RCALL	pop_gset4x
    03C2 9508      RET
(0229) /*$PAGE*/
(0230) /*
(0231) *********************************************************************************************************
(0232) *                                              IDLE TASK
(0233) *
(0234) * Description: This task is internal to uC/OS-II and executes whenever no other higher priority tasks
(0235) *              executes because they are waiting for event(s) to occur.
(0236) *
(0237) * Arguments  : none
(0238) *
(0239) * Returns    : none
(0240) *********************************************************************************************************
(0241) */
(0242) 
(0243) void OSTaskIdle (void *pdata)
(0244) {
(0245)     pdata = pdata;                               /* Prevent compiler warning for not using 'pdata'     */
(0246)     for (;;) {
(0247)         OS_ENTER_CRITICAL();
_OSTaskIdle:
  pdata                --> R16
    03C3 930A      ST	R16,-Y
    03C4 B70F      IN	R16,P3F
    03C5 94F8      BCLR	7
    03C6 930F      PUSH	R16
    03C7 9109      LD	R16,Y+
(0248)         OSIdleCtr++;
    03C8 E081      LDI	R24,1
    03C9 E090      LDI	R25,0
    03CA E0A0      LDI	R26,0
    03CB E0B0      LDI	R27,0
    03CC 90400221  LDS	R4,_OSIdleCtr+2
    03CE 90500222  LDS	R5,_OSIdleCtr+3
    03D0 9020021F  LDS	R2,_OSIdleCtr
    03D2 90300220  LDS	R3,_OSIdleCtr+1
    03D4 0E28      ADD	R2,R24
    03D5 1E39      ADC	R3,R25
    03D6 1E4A      ADC	R4,R26
    03D7 1E5B      ADC	R5,R27
    03D8 92300220  STS	_OSIdleCtr+1,R3
    03DA 9220021F  STS	_OSIdleCtr,R2
    03DC 92500222  STS	_OSIdleCtr+3,R5
    03DE 92400221  STS	_OSIdleCtr+2,R4
(0249)         OS_EXIT_CRITICAL();
    03E0 930A      ST	R16,-Y
    03E1 910F      POP	R16
    03E2 BF0F      OUT	P3F,R16
    03E3 9109      LD	R16,Y+
    03E4 CFDE      RJMP	_OSTaskIdle
    03E5 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
    03E6 D406      RCALL	push_gset3x
(0250)     }
(0251) }
(0252) /*$PAGE*/
(0253) /*
(0254) *********************************************************************************************************
(0255) *                                            INITIALIZE TCB
(0256) *
(0257) * Description: This function is internal to uC/OS-II and is used to initialize a Task Control Block when
(0258) *              a task is created (see OSTaskCreate() and OSTaskCreateExt()).
(0259) *
(0260) * Arguments  : prio          is the priority of the task being created
(0261) *
(0262) *              ptos          is a pointer to the task's top-of-stack assuming that the CPU registers
(0263) *                            have been placed on the stack.  Note that the top-of-stack corresponds to a 
(0264) *                            'high' memory location is OS_STK_GROWTH is set to 1 and a 'low' memory
(0265) *                            location if OS_STK_GROWTH is set to 0.  Note that stack growth is CPU
(0266) *                            specific.
(0267) *
(0268) *              pbos          is a pointer to the bottom of stack.  A NULL pointer is passed if called by
(0269) *                            'OSTaskCreate()'.
(0270) *
(0271) *              id            is the task's ID (0..65535)
(0272) *
(0273) *              stk_size      is the size of the stack (in 'stack units').  If the stack units are INT8Us
(0274) *                            then, 'stk_size' contains the number of bytes for the stack.  If the stack
(0275) *                            units are INT32Us then, the stack contains '4 * stk_size' bytes.  The stack
(0276) *                            units are established by the #define constant OS_STK which is CPU
(0277) *                            specific.  'stk_size' is 0 if called by 'OSTaskCreate()'.
(0278) *
(0279) *              pext          is a pointer to a user supplied memory area that is used to extend the task
(0280) *                            control block.  This allows you to store the contents of floating-point
(0281) *                            registers, MMU registers or anything else you could find useful during a 
(0282) *                            context switch.  You can even assign a name to each task and store this name
(0283) *                            in this TCB extension.  A NULL pointer is passed if called by OSTaskCreate().
(0284) *
(0285) *              opt           options as passed to 'OSTaskCreateExt()' or, 
(0286) *                            0 if called from 'OSTaskCreate()'.
(0287) *
(0288) * Returns    : OS_NO_ERR         if the call was successful
(0289) *              OS_NO_MORE_TCB    if there are no more free TCBs to be allocated and thus, the task cannot
(0290) *                                be created.
(0291) *
(0292) * Note       : This function is INTERNAL to uC/OS-II and your application should not call it.
(0293) *********************************************************************************************************
(0294) */
(0295) 
(0296) INT8U OSTCBInit (INT8U prio, OS_STK *ptos, OS_STK *pbos, INT16U id, INT16U stk_size, void *pext, INT16U opt)
(0297) {
(0298)     OS_TCB *ptcb;
(0299) 
(0300) 
(0301)     OS_ENTER_CRITICAL();
    03E7 930A      ST	R16,-Y
    03E8 B70F      IN	R16,P3F
    03E9 94F8      BCLR	7
    03EA 930F      PUSH	R16
    03EB 9109      LD	R16,Y+
(0302)     ptcb = OSTCBFreeList;                                  /* Get a free TCB from the free TCB list    */
    03EC 90A00212  LDS	R10,_OSTCBFreeList
    03EE 90B00213  LDS	R11,_OSTCBFreeList+1
(0303)     if (ptcb != (OS_TCB *)0) {
    03F0 20AA      TST	R10
    03F1 F419      BNE	0x03F5
    03F2 20BB      TST	R11
    03F3 F409      BNE	0x03F5
    03F4 C073      RJMP	0x0468
(0304)         OSTCBFreeList        = ptcb->OSTCBNext;            /* Update pointer to free TCB list          */
    03F5 01F5      MOVW	R30,R10
    03F6 8022      LDD	R2,2+Z
    03F7 8033      LDD	R3,3+Z
    03F8 92300213  STS	_OSTCBFreeList+1,R3
    03FA 92200212  STS	_OSTCBFreeList,R2
(0305)         OS_EXIT_CRITICAL();
    03FC 930A      ST	R16,-Y
    03FD 910F      POP	R16
    03FE BF0F      OUT	P3F,R16
    03FF 9109      LD	R16,Y+
(0306)         ptcb->OSTCBStkPtr    = ptos;                       /* Load Stack pointer in TCB                */
    0400 8320      STD	R18,0+Z
    0401 8331      STD	R19,1+Z
(0307)         ptcb->OSTCBPrio      = (INT8U)prio;                /* Load task priority into TCB              */
    0402 8701      STD	R16,9+Z
(0308)         ptcb->OSTCBStat      = OS_STAT_RDY;                /* Task is ready to run                     */
    0403 2422      CLR	R2
    0404 8620      STD	R2,8+Z
(0309)         ptcb->OSTCBDly       = 0;                          /* Task is not delayed                      */
    0405 2433      CLR	R3
    0406 8226      STD	R2,6+Z
    0407 8237      STD	R3,7+Z
(0310) 
(0311)         pext                 = pext;                       /* Prevent compiler warning if not used     */
(0312)         stk_size             = stk_size;
(0313)         pbos                 = pbos;
(0314)         opt                  = opt;
(0315)         id                   = id;
(0316) 
(0317)         ptcb->OSTCBY         = prio >> 3;                  /* Pre-compute X, Y, BitX and BitY          */
    0408 2E20      MOV	R2,R16
    0409 9426      LSR	R2
    040A 9426      LSR	R2
    040B 9426      LSR	R2
    040C 8623      STD	R2,11+Z
(0318)         ptcb->OSTCBBitY      = OSMapTbl[ptcb->OSTCBY];
    040D E28C      LDI	R24,0x2C
    040E E090      LDI	R25,0
    040F 85E3      LDD	R30,11+Z
    0410 27FF      CLR	R31
    0411 0FE8      ADD	R30,R24
    0412 1FF9      ADC	R31,R25
    0413 91E4      LPM	R30,0(Z)
    0414 01D5      MOVW	R26,R10
    0415 961D      ADIW	R26,0xD
    0416 93EC      ST	R30,0(X)
(0319)         ptcb->OSTCBX         = prio & 0x07;
    0417 2F80      MOV	R24,R16
    0418 7087      ANDI	R24,7
    0419 01F5      MOVW	R30,R10
    041A 8782      STD	R24,10+Z
(0320)         ptcb->OSTCBBitX      = OSMapTbl[ptcb->OSTCBX];
    041B E28C      LDI	R24,0x2C
    041C E090      LDI	R25,0
    041D 85E2      LDD	R30,10+Z
    041E 27FF      CLR	R31
    041F 0FE8      ADD	R30,R24
    0420 1FF9      ADC	R31,R25
    0421 91E4      LPM	R30,0(Z)
    0422 01D5      MOVW	R26,R10
    0423 961C      ADIW	R26,0xC
    0424 93EC      ST	R30,0(X)
(0321) 
(0322)         OS_ENTER_CRITICAL();
    0425 930A      ST	R16,-Y
    0426 B70F      IN	R16,P3F
    0427 94F8      BCLR	7
    0428 930F      PUSH	R16
    0429 9109      LD	R16,Y+
(0323)         OSTCBPrioTbl[prio]   = ptcb;
    042A E082      LDI	R24,2
    042B 9F80      MUL	R24,R16
    042C 01F0      MOVW	R30,R0
    042D EE8E      LDI	R24,0xEE
    042E E091      LDI	R25,1
    042F 0FE8      ADD	R30,R24
    0430 1FF9      ADC	R31,R25
    0431 82A0      STD	R10,0+Z
    0432 82B1      STD	R11,1+Z
(0324)         ptcb->OSTCBNext      = OSTCBList;                  /* Link into TCB chain                      */
    0433 9020020E  LDS	R2,_OSTCBList
    0435 9030020F  LDS	R3,_OSTCBList+1
    0437 01F5      MOVW	R30,R10
    0438 8222      STD	R2,2+Z
    0439 8233      STD	R3,3+Z
(0325)         ptcb->OSTCBPrev      = (OS_TCB *)0;
    043A 2422      CLR	R2
    043B 2433      CLR	R3
    043C 8224      STD	R2,4+Z
    043D 8235      STD	R3,5+Z
(0326)         if (OSTCBList != (OS_TCB *)0) {
    043E 9020020E  LDS	R2,_OSTCBList
    0440 9030020F  LDS	R3,_OSTCBList+1
    0442 2022      TST	R2
    0443 F411      BNE	0x0446
    0444 2033      TST	R3
    0445 F031      BEQ	0x044C
(0327)             OSTCBList->OSTCBPrev = ptcb;
    0446 91E0020E  LDS	R30,_OSTCBList
    0448 91F0020F  LDS	R31,_OSTCBList+1
    044A 82A4      STD	R10,4+Z
    044B 82B5      STD	R11,5+Z
(0328)         }
(0329)         OSTCBList               = ptcb;
    044C 92B0020F  STS	_OSTCBList+1,R11
    044E 92A0020E  STS	_OSTCBList,R10
(0330)         OSRdyGrp               |= ptcb->OSTCBBitY;         /* Make task ready to run                   */
    0450 01F5      MOVW	R30,R10
    0451 8425      LDD	R2,13+Z
    0452 9030021A  LDS	R3,_OSRdyGrp
    0454 2832      OR	R3,R2
    0455 9230021A  STS	_OSRdyGrp,R3
(0331)         OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
    0457 E188      LDI	R24,0x18
    0458 E092      LDI	R25,2
    0459 8423      LDD	R2,11+Z
    045A 2433      CLR	R3
    045B 0E28      ADD	R2,R24
    045C 1E39      ADC	R3,R25
    045D 8444      LDD	R4,12+Z
    045E 01F1      MOVW	R30,R2
    045F 8050      LDD	R5,0+Z
    0460 2854      OR	R5,R4
    0461 8250      STD	R5,0+Z
(0332)         OS_EXIT_CRITICAL();
    0462 930A      ST	R16,-Y
    0463 910F      POP	R16
    0464 BF0F      OUT	P3F,R16
    0465 9109      LD	R16,Y+
(0333)         return (OS_NO_ERR);
    0466 2700      CLR	R16
    0467 C005      RJMP	0x046D
(0334)     } else {
(0335)         OS_EXIT_CRITICAL();
    0468 930A      ST	R16,-Y
    0469 910F      POP	R16
    046A BF0F      OUT	P3F,R16
    046B 9109      LD	R16,Y+
(0336)         return (OS_NO_MORE_TCB);
    046C E406      LDI	R16,0x46
    046D D36F      RCALL	pop_gset3x
    046E 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) *********************************************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人免费 | 欧美一区二区三区电影| 日韩欧美亚洲国产另类| 最新高清无码专区| 韩国av一区二区三区在线观看| 色八戒一区二区三区| 久久久精品国产免费观看同学| 日韩精品电影在线观看| 91官网在线免费观看| 国产精品嫩草影院com| 男男视频亚洲欧美| 欧美日韩国产一二三| 亚洲女性喷水在线观看一区| 成人深夜福利app| 久久久久久久久免费| 免费一级片91| 欧美伦理影视网| 亚洲国产美国国产综合一区二区| 99麻豆久久久国产精品免费| 国产女同互慰高潮91漫画| 激情图区综合网| 久久先锋影音av鲁色资源| 免费观看91视频大全| 欧美一区二区日韩| 美女一区二区三区在线观看| 69p69国产精品| 日韩在线一区二区| 91麻豆精品国产91久久久使用方法 | 精品美女被调教视频大全网站| 婷婷国产v国产偷v亚洲高清| 欧美妇女性影城| 肉色丝袜一区二区| 日韩欧美在线1卡| 老司机免费视频一区二区| 91精品一区二区三区在线观看| 丝瓜av网站精品一区二区 | 久久久久久久久99精品| 国产精品自拍在线| 国产精品污www在线观看| 国产+成+人+亚洲欧洲自线| 国产精品久久久久一区| 99re这里都是精品| 亚洲国产综合视频在线观看| 欧美一区二区三区在线观看视频| 美女国产一区二区三区| xnxx国产精品| 99v久久综合狠狠综合久久| 亚洲一区二区高清| 精品乱码亚洲一区二区不卡| 国产91清纯白嫩初高中在线观看 | 一本久道久久综合中文字幕 | 国精产品一区一区三区mba视频| 精品国产一区二区三区av性色| 国产一区二区三区免费观看| 中文av一区二区| 在线观看日产精品| 激情小说亚洲一区| 亚洲视频一二三区| 91精品黄色片免费大全| 国产.精品.日韩.另类.中文.在线.播放| 一区精品在线播放| 777久久久精品| 不卡视频免费播放| 五月婷婷色综合| 国产日韩欧美麻豆| 欧美高清性hdvideosex| 国产 日韩 欧美大片| 婷婷国产在线综合| 国产精品久久久久7777按摩| 欧美日韩国产综合视频在线观看| 国产一区二区精品久久99| 亚洲激情中文1区| 精品对白一区国产伦| 日本高清免费不卡视频| 国产精品综合av一区二区国产馆| 亚洲一二三专区| 国产精品天干天干在观线| 日韩一区二区三区免费观看| 色综合久久久久久久久久久| 精品一区二区三区免费观看| 亚洲国产中文字幕| 国产精品福利电影一区二区三区四区 | 色哟哟国产精品| 黑人巨大精品欧美黑白配亚洲| 亚洲国产欧美日韩另类综合| 欧美国产欧美综合| 精品久久久久久久久久久院品网 | 91在线视频在线| 国内久久精品视频| 日本三级韩国三级欧美三级| 曰韩精品一区二区| 国产精品超碰97尤物18| 久久久久久久电影| 精品国产乱码久久久久久久久| 欧美日韩国产综合一区二区三区| 91丨porny丨中文| 丁香另类激情小说| 国产精品一卡二卡在线观看| 久久不见久久见免费视频7| 亚洲国产精品一区二区久久 | 中文字幕一区二区不卡| 久久只精品国产| 精品福利在线导航| 2021国产精品久久精品| 亚洲精品一区二区三区蜜桃下载| 日韩亚洲欧美成人一区| 欧美一区二区三区啪啪| 日韩一级免费观看| 精品久久久久久久久久久久久久久久久| 在线不卡免费av| 欧美一级二级三级蜜桃| 欧美一区二区私人影院日本| 91精品国产综合久久精品麻豆| 欧美福利一区二区| 欧美α欧美αv大片| 亚洲精品一区二区三区蜜桃下载 | 亚洲国产毛片aaaaa无费看 | 亚洲免费av网站| 亚洲一区二区三区小说| 日日骚欧美日韩| 蜜桃一区二区三区在线| 国产精品综合在线视频| 成人免费高清在线观看| 91免费观看视频在线| 在线视频一区二区三区| 欧美视频你懂的| 日韩亚洲欧美中文三级| 久久综合久久久久88| 中文字幕国产一区| 亚洲综合在线第一页| 爽好久久久欧美精品| 久久99久久99精品免视看婷婷| 国产高清不卡一区| 91网上在线视频| 欧美一区国产二区| 国产精品午夜电影| 亚洲中国最大av网站| 久久国产欧美日韩精品| 成人综合激情网| 欧美日韩三级视频| 精品国产一区二区三区不卡| 亚洲黄色片在线观看| 丝袜国产日韩另类美女| 粉嫩嫩av羞羞动漫久久久| 欧美在线你懂得| 精品国产乱码久久久久久久| 综合久久国产九一剧情麻豆| 三级欧美在线一区| 成人自拍视频在线观看| 67194成人在线观看| 国产婷婷色一区二区三区在线| 亚洲精品成人在线| 激情六月婷婷久久| 在线观看精品一区| 国产亚洲欧美在线| 午夜精品久久久久久久蜜桃app| 国产精品一二二区| 欧美一区二区三区免费观看视频| 国产精品麻豆网站| 久久99在线观看| 欧美伊人久久久久久久久影院| 久久综合狠狠综合| 日韩影院免费视频| 91久久久免费一区二区| 欧美国产成人在线| 久久精品国产免费| 欧美色爱综合网| 最新国产の精品合集bt伙计| 国内国产精品久久| 69精品人人人人| 亚洲一区在线视频| 91丨porny丨中文| 亚洲国产精品精华液2区45| 久久99久久精品| 欧美一区二区黄| 五月婷婷久久丁香| 色婷婷久久久综合中文字幕 | 色综合视频在线观看| 久久亚洲免费视频| 麻豆精品视频在线观看免费| 欧美日韩电影在线| 亚洲国产精品精华液网站| 一本到不卡精品视频在线观看| 国产视频视频一区| 国产高清在线精品| 国产丝袜欧美中文另类| 韩国毛片一区二区三区| 亚洲婷婷综合久久一本伊一区| 韩国三级在线一区| 日韩欧美一二区| 久久精品国产色蜜蜜麻豆| 欧美精品v国产精品v日韩精品| 亚洲一卡二卡三卡四卡| 91黄色小视频| 亚洲国产精品久久不卡毛片 | 美女一区二区三区| 日韩一区二区三区观看| 日本午夜一本久久久综合| 欧美一区二区三区啪啪| 九色综合狠狠综合久久|