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

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

?? os_task.lis

?? ucos如何移植到單片機mega128
?? LIS
?? 第 1 頁 / 共 5 頁
字號:
 006C 9701              movw R18,R14
 006E 8501              movw R16,R10
 0070 0E940000          xcall _OSTaskStkInit
 0074 5801              movw R10,R16
 0076                   .dbline 178
 0076           ;         err = OS_TCBInit(prio, psp, (OS_STK *)0, 0, 0, (void *)0, 0);
 0076 2224              clr R2
 0078 3324              clr R3
 007A 3B86              std y+11,R3
 007C 2A86              std y+10,R2
 007E 3986              std y+9,R3
 0080 2886              std y+8,R2
 0082 40E0              ldi R20,0
 0084 50E0              ldi R21,0
 0086 60E0              ldi R22,0
 0088 70E0              ldi R23,0
 008A 4C83              std y+4,R20
 008C 5D83              std y+5,R21
 008E 6E83              std y+6,R22
 0090 7F83              std y+7,R23
 0092 3B82              std y+3,R3
 0094 2A82              std y+2,R2
 0096 3982              std y+1,R3
 0098 2882              std y+0,R2
 009A 9501              movw R18,R10
 009C 0C2D              mov R16,R12
 009E 0E940000          xcall _OS_TCBInit
 00A2 A02E              mov R10,R16
 00A4                   .dbline 179
 00A4           ;         if (err == OS_NO_ERR) {
 00A4 0023              tst R16
 00A6 A9F4              brne L8
 00A8                   .dbline 179
 00A8                   .dbline 180
 00A8           ;             OS_ENTER_CRITICAL();
 00A8 0A93              st -y,r16
 00AA 0FB7              in r16,0x3F
 00AC F894              cli
 00AE 0F93              push r16
 00B0 0991              ld r16,y+
 00B2                   .dbline 180
 00B2                   .dbline 181
 00B2           ;             OSTaskCtr++;                                        /* Increment the #tasks counter        */
 00B2 80910000          lds R24,_OSTaskCtr
 00B6 8F5F              subi R24,255    ; addi 1
 00B8 80930000          sts _OSTaskCtr,R24
 00BC                   .dbline 182
 00BC           ;             OS_EXIT_CRITICAL();
 00BC 0A93              st -y,r16
 00BE 0F91              pop r16
 00C0 0FBF              out 0x3F,r16
 00C2 0991              ld r16,y+
 00C4                   .dbline 182
 00C4                   .dbline 183
 00C4           ;             if (OSRunning == TRUE) {         /* Find highest priority task if multitasking has started */
 00C4 80910000          lds R24,_OSRunning
 00C8 8130              cpi R24,1
 00CA B9F4              brne L9
 00CC                   .dbline 183
 00CC                   .dbline 184
 00CC           ;                 OS_Sched();
 00CC 0E940000          xcall _OS_Sched
 00D0                   .dbline 185
 00D0           ;             }
 00D0                   .dbline 186
 00D0 14C0              xjmp L9
 00D2           L8:
 00D2                   .dbline 186
 00D2           ;         } else {
 00D2                   .dbline 187
 00D2           ;             OS_ENTER_CRITICAL();
 00D2 0A93              st -y,r16
 00D4 0FB7              in r16,0x3F
 00D6 F894              cli
 00D8 0F93              push r16
 00DA 0991              ld r16,y+
 00DC                   .dbline 187
 00DC                   .dbline 188
 00DC           ;             OSTCBPrioTbl[prio] = (OS_TCB *)0;/* Make this priority available to others                 */
 00DC 82E0              ldi R24,2
 00DE 8C9D              mul R24,R12
 00E0 F001              movw R30,R0
 00E2 80E0              ldi R24,<_OSTCBPrioTbl
 00E4 90E0              ldi R25,>_OSTCBPrioTbl
 00E6 E80F              add R30,R24
 00E8 F91F              adc R31,R25
 00EA 2224              clr R2
 00EC 3324              clr R3
 00EE 3182              std z+1,R3
 00F0 2082              std z+0,R2
 00F2                   .dbline 189
 00F2           ;             OS_EXIT_CRITICAL();
 00F2 0A93              st -y,r16
 00F4 0F91              pop r16
 00F6 0FBF              out 0x3F,r16
 00F8 0991              ld r16,y+
 00FA                   .dbline 189
 00FA                   .dbline 190
 00FA           ;         }
 00FA           L9:
 00FA                   .dbline 191
 00FA           ;         return (err);
 00FA 0A2D              mov R16,R10
 00FC 05C0              xjmp L3
 00FE           L6:
 00FE                   .dbline 193
 00FE           ;     }
 00FE           ;     OS_EXIT_CRITICAL();
 00FE 0A93              st -y,r16
 0100 0F91              pop r16
 0102 0FBF              out 0x3F,r16
 0104 0991              ld r16,y+
 0106                   .dbline 193
 0106                   .dbline 194
 0106           ;     return (OS_PRIO_EXIST);
 0106 08E2              ldi R16,40
 0108                   .dbline -2
 0108           L3:
 0108 2C96              adiw R28,12
 010A 0E940000          xcall pop_gset5
 010E                   .dbline 0 ; func end
 010E 0895              ret
 0110                   .dbsym r psp 10 pc
 0110                   .dbsym r err 10 c
 0110                   .dbsym r prio 12 c
 0110                   .dbsym l ptos 22 pc
 0110                   .dbsym r pdata 14 pV
 0110                   .dbsym r task 10 pfV
 0110                   .dbend
 0110                   .dbfunc e OSTaskDel _OSTaskDel fc
 0110                   .dbstruct 0 10 .2
 0110                   .dbfield 0 OSFlagNodeNext pV
 0110                   .dbfield 2 OSFlagNodePrev pV
 0110                   .dbfield 4 OSFlagNodeTCB pV
 0110                   .dbfield 6 OSFlagNodeFlagGrp pV
 0110                   .dbfield 8 OSFlagNodeFlags c
 0110                   .dbfield 9 OSFlagNodeWaitType c
 0110                   .dbend
 0110                   .dbstruct 0 18 os_tcb
 0110                   .dbfield 0 OSTCBStkPtr pc
 0110                   .dbfield 2 OSTCBNext pS[os_tcb]
 0110                   .dbfield 4 OSTCBPrev pS[os_tcb]
 0110                   .dbfield 6 OSTCBFlagNode pS[.2]
 0110                   .dbfield 8 OSTCBFlagsRdy c
 0110                   .dbfield 9 OSTCBDly i
 0110                   .dbfield 11 OSTCBStat c
 0110                   .dbfield 12 OSTCBPrio c
 0110                   .dbfield 13 OSTCBX c
 0110                   .dbfield 14 OSTCBY c
 0110                   .dbfield 15 OSTCBBitX c
 0110                   .dbfield 16 OSTCBBitY c
 0110                   .dbfield 17 OSTCBDelReq c
 0110                   .dbend
 0110           ;           self -> <dead>
 0110           ;          pnode -> R10,R11
 0110           ;           ptcb -> R20,R21
 0110           ;           prio -> R22
                        .even
 0110           _OSTaskDel::
 0110 0E940000          xcall push_gset3
 0114 602F              mov R22,R16
 0116                   .dbline -1
 0116                   .dbline 358
 0116           ; }
 0116           ; #endif
 0116           ; /*$PAGE*/
 0116           ; /*
 0116           ; *********************************************************************************************************
 0116           ; *                                     CREATE A TASK (Extended Version)
 0116           ; *
 0116           ; * Description: This function is used to have uC/OS-II manage the execution of a task.  Tasks can either
 0116           ; *              be created prior to the start of multitasking or by a running task.  A task cannot be
 0116           ; *              created by an ISR.  This function is similar to OSTaskCreate() except that it allows
 0116           ; *              additional information about a task to be specified.
 0116           ; *
 0116           ; * Arguments  : task     is a pointer to the task's code
 0116           ; *
 0116           ; *              pdata    is a pointer to an optional data area which can be used to pass parameters to
 0116           ; *                       the task when the task first executes.  Where the task is concerned it thinks
 0116           ; *                       it was invoked and passed the argument 'pdata' as follows:
 0116           ; *
 0116           ; *                           void Task (void *pdata)
 0116           ; *                           {
 0116           ; *                               for (;;) {
 0116           ; *                                   Task code;
 0116           ; *                               }
 0116           ; *                           }
 0116           ; *
 0116           ; *              ptos     is a pointer to the task's top of stack.  If the configuration constant
 0116           ; *                       OS_STK_GROWTH is set to 1, the stack is assumed to grow downward (i.e. from high
 0116           ; *                       memory to low memory).  'pstk' will thus point to the highest (valid) memory
 0116           ; *                       location of the stack.  If OS_STK_GROWTH is set to 0, 'pstk' will point to the
 0116           ; *                       lowest memory location of the stack and the stack will grow with increasing
 0116           ; *                       memory locations.  'pstk' MUST point to a valid 'free' data item.
 0116           ; *
 0116           ; *              prio     is the task's priority.  A unique priority MUST be assigned to each task and the
 0116           ; *                       lower the number, the higher the priority.
 0116           ; *
 0116           ; *              id       is the task's ID (0..65535)
 0116           ; *
 0116           ; *              pbos     is a pointer to the task's bottom of stack.  If the configuration constant
 0116           ; *                       OS_STK_GROWTH is set to 1, the stack is assumed to grow downward (i.e. from high
 0116           ; *                       memory to low memory).  'pbos' will thus point to the LOWEST (valid) memory
 0116           ; *                       location of the stack.  If OS_STK_GROWTH is set to 0, 'pbos' will point to the
 0116           ; *                       HIGHEST memory location of the stack and the stack will grow with increasing
 0116           ; *                       memory locations.  'pbos' MUST point to a valid 'free' data item.
 0116           ; *
 0116           ; *              stk_size is the size of the stack in number of elements.  If OS_STK is set to INT8U,
 0116           ; *                       'stk_size' corresponds to the number of bytes available.  If OS_STK is set to
 0116           ; *                       INT16U, 'stk_size' contains the number of 16-bit entries available.  Finally, if
 0116           ; *                       OS_STK is set to INT32U, 'stk_size' contains the number of 32-bit entries
 0116           ; *                       available on the stack.
 0116           ; *
 0116           ; *              pext     is a pointer to a user supplied memory location which is used as a TCB extension.
 0116           ; *                       For example, this user memory can hold the contents of floating-point registers
 0116           ; *                       during a context switch, the time each task takes to execute, the number of times
 0116           ; *                       the task has been switched-in, etc.
 0116           ; *
 0116           ; *              opt      contains additional information (or options) about the behavior of the task.  The
 0116           ; *                       LOWER 8-bits are reserved by uC/OS-II while the upper 8 bits can be application
 0116           ; *                       specific.  See OS_TASK_OPT_??? in uCOS-II.H.
 0116           ; *
 0116           ; * Returns    : OS_NO_ERR        if the function was successful.
 0116           ; *              OS_PRIO_EXIT     if the task priority already exist
 0116           ; *                               (each task MUST have a unique priority).
 0116           ; *              OS_PRIO_INVALID  if the priority you specify is higher that the maximum allowed
 0116           ; *                               (i.e. > OS_LOWEST_PRIO)
 0116           ; *********************************************************************************************************
 0116           ; */
 0116           ; /*$PAGE*/
 0116           ; #if OS_TASK_CREATE_EXT_EN > 0
 0116           ; INT8U  OSTaskCreateExt (void   (*task)(void *pd),
 0116           ;                         void    *pdata,
 0116           ;                         OS_STK  *ptos,
 0116           ;                         INT8U    prio,
 0116           ;                         INT16U   id,
 0116           ;                         OS_STK  *pbos,
 0116           ;                         INT32U   stk_size,
 0116           ;                         void    *pext,
 0116           ;                         INT16U   opt)
 0116           ; {
 0116           ; #if OS_CRITICAL_METHOD == 3                  /* Allocate storage for CPU status register               */
 0116           ;     OS_CPU_SR  cpu_sr;
 0116           ; #endif
 0116           ;     OS_STK    *psp;
 0116           ;     INT8U      err;
 0116           ; 
 0116           ; 
 0116           ; #if OS_ARG_CHK_EN > 0
 0116           ;     if (prio > OS_LOWEST_PRIO) {             /* Make sure priority is within allowable range           */
 0116           ;         return (OS_PRIO_INVALID);
 0116           ;     }
 0116           ; #endif
 0116           ;     OS_ENTER_CRITICAL();
 0116           ;     if (OSTCBPrioTbl[prio] == (OS_TCB *)0) { /* Make sure task doesn't already exist at this priority  */
 0116           ;         OSTCBPrioTbl[prio] = (OS_TCB *)1;    /* Reserve the priority to prevent others from doing ...  */
 0116           ;                                              /* ... the same thing until task is created.              */
 0116           ;         OS_EXIT_CRITICAL();
 0116           ; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影免费观看高清完整版 | 国产日韩欧美精品电影三级在线| 99精品视频在线观看免费| 五月婷婷激情综合网| 国产农村妇女精品| 欧美高清视频www夜色资源网| 久久不见久久见免费视频7| 亚洲综合视频在线| 婷婷丁香久久五月婷婷| 亚洲欧美电影院| 国产三级三级三级精品8ⅰ区| 国产视频一区在线播放| 欧美mv日韩mv国产| 欧美日韩免费高清一区色橹橹| 欧美在线你懂得| 色狠狠桃花综合| 色婷婷激情综合| 在线不卡免费欧美| 欧美欧美欧美欧美| 成人小视频免费在线观看| 国产精品99久久久| 国产精品亚洲а∨天堂免在线| 成人久久视频在线观看| 高清不卡在线观看| 成人app在线观看| 欧美日本一区二区三区| 91精品国产综合久久精品app| 欧美浪妇xxxx高跟鞋交| 欧洲精品视频在线观看| 6080亚洲精品一区二区| 69精品人人人人| 欧美区在线观看| 精品国产污网站| 国产亚洲污的网站| 亚洲综合一二区| 青草av.久久免费一区| 国产在线麻豆精品观看| 粗大黑人巨茎大战欧美成人| 日本高清视频一区二区| 欧美猛男gaygay网站| 日韩一区二区在线看片| 自拍偷拍亚洲综合| 午夜精品久久久久久久| 国产精品自拍网站| 91精品国产全国免费观看| 精品国产免费视频| 国产精品色在线观看| 午夜精品一区二区三区免费视频| 黄色资源网久久资源365| 久久精品国产在热久久| 99这里只有久久精品视频| 色狠狠色噜噜噜综合网| 久久久精品蜜桃| 中文字幕永久在线不卡| 日韩电影在线看| 99国产精品99久久久久久| 91理论电影在线观看| 日韩欧美久久久| 亚洲免费看黄网站| 成人成人成人在线视频| 日韩限制级电影在线观看| 国产精品久久三区| 国产成人午夜高潮毛片| 91精品国产欧美一区二区| 亚洲色图欧洲色图婷婷| 99久久精品免费| 欧美成人精品高清在线播放| 中文字幕中文字幕一区| 美女脱光内衣内裤视频久久网站| 95精品视频在线| 欧美国产一区在线| 日本怡春院一区二区| 色狠狠一区二区| 亚洲色图丝袜美腿| 国产不卡在线一区| 日韩精品一区二区三区中文不卡 | 91久久精品日日躁夜夜躁欧美| 国产精品视频线看| 国产高清不卡一区| 欧美精品一区二区久久久| 美国毛片一区二区| 欧美一区二区在线免费播放| 伊人色综合久久天天| 91精品福利视频| 亚洲天天做日日做天天谢日日欢| 国产成人综合精品三级| 国产精品欧美一级免费| 国精品**一区二区三区在线蜜桃| 欧美另类一区二区三区| 青青草97国产精品免费观看| 日韩美女在线视频| 亚洲综合在线视频| 欧美美女一区二区在线观看| 亚洲国产精品尤物yw在线观看| 欧美片网站yy| 免费人成在线不卡| 久久综合九色综合欧美98| 国产91精品精华液一区二区三区| 久久久精品日韩欧美| 成人美女在线视频| 婷婷激情综合网| 欧美成人性福生活免费看| 午夜欧美电影在线观看| 日韩小视频在线观看专区| 国内外精品视频| 亚洲精品写真福利| 在线播放/欧美激情| 亚洲国产精品欧美一二99| 欧美精品一区二区三区蜜臀| 国产精品亚洲专一区二区三区| 精品国产免费一区二区三区香蕉| 大胆亚洲人体视频| 一区二区国产视频| 久久久99精品免费观看不卡| 一本一道综合狠狠老| 亚洲综合图片区| 亚洲国产精品激情在线观看| 在线一区二区三区做爰视频网站| 老色鬼精品视频在线观看播放| 免费成人你懂的| 精品一区二区三区蜜桃| 欧美日本一区二区三区| 久草在线在线精品观看| 中文字幕av一区 二区| 色999日韩国产欧美一区二区| 久久99精品国产麻豆不卡| 久久精品网站免费观看| 91一区二区在线| 亚洲男人的天堂一区二区 | 欧美国产国产综合| 欧美在线影院一区二区| 激情六月婷婷久久| 一区二区免费在线| 国产日韩精品视频一区| 成人免费视频视频| 免费久久99精品国产| 欧洲中文字幕精品| 丁香激情综合国产| 亚洲成人动漫一区| 亚洲综合成人在线| 日本一区二区三区久久久久久久久不| 91官网在线免费观看| 国产精品亚洲一区二区三区妖精| 麻豆视频一区二区| 亚洲精品成人在线| 精品国产一区二区三区av性色| 欧美三电影在线| 91社区在线播放| 国产ts人妖一区二区| 视频在线观看一区| 久久九九99视频| 欧美精品一区二区三区蜜桃| 欧美日本一区二区在线观看| 99久久久精品免费观看国产蜜| 国产乱子轮精品视频| 日韩主播视频在线| 亚洲精品免费电影| 国产精品福利av| 国产精品视频观看| 国产精品久久久久天堂| 久久在线免费观看| 久久免费国产精品| 精品成人a区在线观看| 精品日韩在线观看| 欧美日韩高清一区| 成人午夜激情视频| 国产 日韩 欧美大片| 国产精品无遮挡| 成年人午夜久久久| 成人免费看的视频| 91丨九色丨蝌蚪丨老版| 色综合网色综合| 欧美区一区二区三区| 欧美大肚乱孕交hd孕妇| 国产性做久久久久久| 亚洲品质自拍视频| 天堂资源在线中文精品| 久久99精品国产91久久来源 | 久久久影视传媒| 中文av一区二区| 亚洲一区在线视频| 日本欧美在线观看| 国产乱子伦视频一区二区三区 | 久久精品国产一区二区三区免费看| 国产在线视频不卡二| 91同城在线观看| 欧美一级高清片| 亚洲天堂免费在线观看视频| 亚洲123区在线观看| 国产精品白丝jk黑袜喷水| 欧美主播一区二区三区美女| 欧美电影免费提供在线观看| 亚洲欧洲日韩av| 久久精品国产久精国产| 色婷婷精品大在线视频| 精品国产凹凸成av人导航| 一区二区三区美女| 国产成人av一区二区三区在线 | 欧美一区二区三区视频在线| 国产精品福利影院|