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

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

?? mschdotask.s51

?? zigbee location examples
?? S51
字號:
#include "ioCC2430.h"
#include <iar_check_symbols.h>

            ; name conflict when named mac_scheduler
            MODULE  mac_scheduler_a

; External symbols and constants
MAC_TASK_QUEUE_SIZE     EQU     03H
NO_TASK                 EQU     0FFH

            EXTERN  pMacTaskQueues
            EXTERN  pMacTasks

#if (__CODE_MODEL__ == __CM_BANKED__)
            EXTERN  ?BCALL
MAC_TASK_INFO_SIZE      EQU     10

#else
MAC_TASK_INFO_SIZE      EQU     9
#endif


;;-------------------------------------------------------------------------------------------------------
;;  void mschDoTask(void)
;;
;;  DESCRIPTION:
;;      Used by the timer module to start or resume a task at every backoff slot boundary
;;      This routine is written in assembler to make the function reentrant, and increase execution
;;      speed.
;;
;;  C EQUIVALENT:
;;      void mschDoTask(void) {
;;          UINT8 taskNumber;
;;          MAC_TASK_QUEUE *pQueue;
;;          MAC_TASK_INFO *pTask;
;;
;;          // Execute tasks by priority
;;          UINT8 n = MAC_TASK_PRIORITY_COUNT - 1;
;;          do {
;;
;;              // Stop if there's a task in progress
;;              pQueue = &pMacTaskQueues[n];
;;              if (pQueue->taskInProgress) return;
;;
;;              // If there's a valid task in the queue, then start it
;;              DISABLE_GLOBAL_INT();
;;              taskNumber = pQueue->firstTask;
;;              if (taskNumber != NO_TASK) {
;;                  pQueue->taskInProgress = TRUE;
;;                  pTask = &pMacTasks[taskNumber];
;;                  ENABLE_GLOBAL_INT();
;;                  ((TFPTR) pTask->pTaskFunc)(pTask);
;;                  pQueue->taskInProgress = FALSE;
;;                  return;
;;              }
;;              ENABLE_GLOBAL_INT();
;;          } while (n--);
;;      }
;;-------------------------------------------------------------------------------------------------------

                RSEG    RCODE
                PUBLIC  mschDoTask;
mschDoTask:
                ; R7 = Current task priority
                MOV     R7,#03H;


priorityLoop:   ; Let DPTR point to the current task queue
                ; DPTR = sizeof(MAC_TASK_QUEUE) * priority + pMacTaskQueues
                ;      = 3 * R7 + pMacTaskQueues
                MOV     A, #MAC_TASK_QUEUE_SIZE;
                MOV     B, R7;
                MUL     AB;
                ADD     A, #LOW pMacTaskQueues;
                MOV     DPL, A;
                CLR     A;
                ADDC    A, #HIGH pMacTaskQueues;
                MOV     DPH, A;

                ; Disable all interrupts
                CLR     EA;

                ; Get the queue parameters
                ; R6 = taskNumber = pQueue->firstTask
                MOVX    A, @DPTR;
                MOV     R6, A;
                INC     DPTR;
                INC     DPTR;
                ; A = pQueue->taskInProgress
                MOVX    A, @DPTR;

                ; Abort if there's a task already in progress
                JNZ     exit;

                ; Skip this round if no task is found
                CJNE    R6, #NO_TASK, foundTask;
                SJMP    endLoop;


foundTask:      ; Set the task in progress flag
                MOV     A, #01H
                MOVX    @DPTR, A;
                PUSH    DPH;
                PUSH    DPL;

                ; Get the pointer to the task info and put it in R2 and R3
                ; [R3:R2] = sizeof(MAC_TASK_INFO) * taskNumber(R6) + pMacTasks
                MOV     A, #MAC_TASK_INFO_SIZE;
                MOV     B, R6;
                MUL     AB;
                ADD     A, #LOW pMacTasks;
                MOV     R2, A;
                CLR     A;
                ADDC    A, #HIGH pMacTasks;
                MOV     R3, A;

                ; Set DPTR to point to the task structure
                MOV     DPL, R2;
                MOV     DPH, R3;

#if (__CODE_MODEL__ == __CM_BANKED__)
#else
                ; set up return address
                MOV     A, #LOW callReturned
                PUSH    A
                MOV     A, #HIGH callReturned
                PUSH    A
#endif
                ; Put the function address into DPTR and the bank number into A
                MOVX    A, @DPTR;
                MOV     R4, A
                INC     DPTR;
                MOVX    A, @DPTR;
                MOV     R5, A;
                INC     DPTR;
                MOVX    A, @DPTR;
                MOV     DPL, R4;
                MOV     DPH, R5;

                ; Turn interrupts back on
                SETB    EA;

                ; Make the banked function call
#if (__CODE_MODEL__ == __CM_BANKED__)

                LCALL   ?BCALL;
#else
                CLR     A
                JMP     @A+DPTR   ; Call subroutine
#endif

                ; Clear the task in progress flag (the DPTR was pushed @ foundTask)
callReturned:   POP     DPL;
                POP     DPH;
                CLR     A;
                MOVX    @DPTR, A;

                ; We're done!!!
                SJMP    exit;


endLoop:        ; Turn interrupts back on
                SETB    EA;

                ; Lower the priority level, and continue on the next loop
                DEC     R7;

                ; Exit when the priority 0 has been checked
                CJNE    R7, #0FFH, priorityLoop;


exit:           ; Turn interrupts back on
                SETB    EA;

                ; Return :)
                RET;

                END;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品1区2区| 久久久精品影视| 欧美精品乱码久久久久久| 中文字幕欧美国产| 毛片不卡一区二区| 成人午夜av影视| 91精品国产综合久久精品麻豆| 精品久久一区二区| 视频一区国产视频| 成人免费一区二区三区在线观看| 欧美精品一区二区三区在线播放| 91香蕉视频mp4| 久久福利视频一区二区| 国产日韩影视精品| 成人黄色a**站在线观看| 亚洲综合图片区| 欧美一区二区三区在线电影| 久久99精品一区二区三区三区| 精品国精品自拍自在线| 91一区二区三区在线观看| 亚洲制服丝袜av| 在线不卡中文字幕| 国产高清无密码一区二区三区| 国产精品日产欧美久久久久| 91亚洲精品久久久蜜桃网站| 日韩av一区二区三区四区| 国产精品视频一二三区| 欧美中文字幕久久| 国产成人一区在线| 亚洲成人av一区| 亚洲日本在线a| 久久久久久久久久久久久女国产乱 | 国产精品盗摄一区二区三区| 蜜臀av一级做a爰片久久| 日韩精品一区二区三区在线播放| 91豆麻精品91久久久久久| 日本一区二区三区dvd视频在线| 久草热8精品视频在线观看| 一区二区视频在线看| 国产xxx精品视频大全| 久久一留热品黄| 国产一区二区看久久| 久久久精品tv| 国产福利91精品一区二区三区| 久久一夜天堂av一区二区三区| 激情综合色综合久久| 91老师国产黑色丝袜在线| 国产成人免费在线观看不卡| 国内成+人亚洲+欧美+综合在线| 蜜桃传媒麻豆第一区在线观看| 卡一卡二国产精品| 亚洲不卡一区二区三区| 午夜免费欧美电影| 蜜臀国产一区二区三区在线播放| 欧美色爱综合网| 4438x成人网最大色成网站| 国产精品传媒入口麻豆| 国产乱码精品一区二区三区av| 99精品在线观看视频| 日韩午夜激情视频| www国产成人| 最新久久zyz资源站| 中文字幕精品综合| 午夜精品免费在线| 成人污污视频在线观看| 成人性生交大片免费看中文网站| 91成人免费在线| 日韩精品电影在线观看| 精品精品国产高清a毛片牛牛 | 国产精品久久久久久久久免费樱桃| 国产成人精品亚洲午夜麻豆| 亚洲视频中文字幕| 欧美精三区欧美精三区| 国产精品一区二区无线| 亚洲美女视频一区| 欧美一级专区免费大片| 成人自拍视频在线| 性感美女久久精品| 久久久久久久久久久久电影| 欧美亚洲愉拍一区二区| 韩国中文字幕2020精品| 亚洲中国最大av网站| 久久久综合激的五月天| 欧美日韩中文字幕精品| 国产乱码精品1区2区3区| 亚洲一级二级在线| 国产午夜精品理论片a级大结局 | 激情欧美日韩一区二区| 一区二区三区久久| 久久久国产精品午夜一区ai换脸| 欧美日韩中文字幕一区| 99re在线精品| 国产激情偷乱视频一区二区三区| 亚洲国产视频a| 国产精品美女一区二区在线观看| 91精品综合久久久久久| 91麻豆精品在线观看| 懂色av一区二区三区免费观看 | 亚洲影院在线观看| 国产精品理论片在线观看| 久久综合九色综合97婷婷女人| 欧美日韩综合色| 欧美中文字幕一区| 一本大道久久a久久精二百| 成人一区二区视频| 国产一区二区三区在线看麻豆| 天天亚洲美女在线视频| 亚洲影院在线观看| 亚洲精选视频免费看| 国产精品日产欧美久久久久| 国产亚洲精品资源在线26u| 欧美一级国产精品| 欧美日韩国产高清一区| 在线观看日韩一区| 日本高清不卡一区| 日本道色综合久久| 色综合色综合色综合色综合色综合 | 日韩不卡一区二区三区 | 欧美日韩精品一区二区三区蜜桃 | 亚洲成人精品影院| 一区二区三区蜜桃网| 亚洲永久免费av| 五月天激情小说综合| 亚洲成人av电影在线| 日韩高清一区在线| 蜜桃视频在线观看一区| 韩国在线一区二区| 成人黄色a**站在线观看| 成人av资源网站| 在线一区二区视频| 欧美私模裸体表演在线观看| 欧美探花视频资源| 91精品欧美综合在线观看最新 | 国产伦精品一区二区三区免费迷 | 4438x成人网最大色成网站| 精品日韩在线观看| 国产亚洲欧美激情| 亚洲日本成人在线观看| 亚洲成a人v欧美综合天堂下载| 日韩电影在线观看网站| 精品亚洲国内自在自线福利| 国产老肥熟一区二区三区| av不卡在线播放| 欧美三级电影一区| 久久久久久久久99精品| 亚洲人午夜精品天堂一二香蕉| 夜夜嗨av一区二区三区网页| 日本欧洲一区二区| 国产凹凸在线观看一区二区| 在线观看亚洲精品视频| 欧美成人三级在线| 中文字幕在线一区| 午夜久久福利影院| 国产高清在线观看免费不卡| 欧洲精品一区二区| 精品国产污网站| 亚洲色欲色欲www| 蜜桃传媒麻豆第一区在线观看| 成人一区在线观看| 欧美一级一区二区| 中文字幕视频一区二区三区久| 日韩av一级电影| 91天堂素人约啪| 亚洲精品一区二区三区福利| 亚洲黄色尤物视频| 国产精品香蕉一区二区三区| 色婷婷综合中文久久一本| 精品捆绑美女sm三区| 亚洲影视在线观看| 风间由美一区二区三区在线观看| 欧美日韩综合在线免费观看| 欧美激情在线免费观看| 日韩和的一区二区| 99精品久久只有精品| 精品三级在线观看| 亚洲国产精品一区二区久久| 国产a视频精品免费观看| 欧美日本一区二区三区| 亚洲欧洲性图库| 国产资源在线一区| 日韩西西人体444www| 亚洲一区二区三区四区五区中文 | 国产精品18久久久久久久久 | 国产在线麻豆精品观看| 欧美高清视频在线高清观看mv色露露十八 | 日韩情涩欧美日韩视频| 一区二区三区不卡视频在线观看| 国产一区二区剧情av在线| 日韩美女视频一区二区在线观看| 亚洲小少妇裸体bbw| 91同城在线观看| 成人欧美一区二区三区1314| 成人午夜激情视频| 久久久久久黄色| 精品写真视频在线观看| 在线不卡免费av| 一区二区三区加勒比av| 色一情一伦一子一伦一区| 亚洲素人一区二区| 99久久免费视频.com|