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

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

?? app_isr.asm

?? 本人寫的ATMEL 128 UC/OSII移植程序
?? ASM
字號:
;********************************************************************************************************
;                                       APPLICATION SPECIFIC ISRs
;
;                                (c) Copyright 2005, Micrium, Weston, FL
;                                          All Rights Reserved
;
; File     : APP_ISR.S90
; By       : Jean J. Labrosse
;********************************************************************************************************


                NAME    app_isr

                RSEG    CSTACK:DATA:NOROOT(0)
                RSEG    RSTACK:DATA:NOROOT(0)

//#include        "os_cpu_a.s90"
BIT00   = 0x01
BIT01   = 0x02
BIT02   = 0x04
BIT03   = 0x08
BIT04   = 0x10
BIT05   = 0x20
BIT06   = 0x40
BIT07   = 0x80

;********************************************************************************************************
;                                           I/O PORT ADDRESSES
;********************************************************************************************************

SREG    = 0x3F
SPH     = 0x3E
SPL     = 0x3D
RAMPZ   = 0x3B

;********************************************************************************************************
;                                                MACROS
;********************************************************************************************************

PUSH_ALL        MACRO                               ; Save all registers
                ST      -Y,R0
                ST      -Y,R1
                ST      -Y,R2
                ST      -Y,R3
                ST      -Y,R4
                ST      -Y,R5
                ST      -Y,R6
                ST      -Y,R7
                ST      -Y,R8
                ST      -Y,R9
                ST      -Y,R10
                ST      -Y,R11
                ST      -Y,R12
                ST      -Y,R13
                ST      -Y,R14
                ST      -Y,R15
                ST      -Y,R16
                ST      -Y,R17
                ST      -Y,R18
                ST      -Y,R19
                ST      -Y,R20
                ST      -Y,R21
                ST      -Y,R22
                ST      -Y,R23
                ST      -Y,R24
                ST      -Y,R25
                ST      -Y,R26
                ST      -Y,R27
                ST      -Y,R30
                ST      -Y,R31
                IN      R16,RAMPZ
                ST      -Y,R16
                ENDM

POP_ALL         MACRO                               ; Restore all registers
                LD      R16,Y+
                OUT     RAMPZ,R16
                LD      R31,Y+
                LD      R30,Y+
                LD      R27,Y+
                LD      R26,Y+
                LD      R25,Y+
                LD      R24,Y+
                LD      R23,Y+
                LD      R22,Y+
                LD      R21,Y+
                LD      R20,Y+
                LD      R19,Y+
                LD      R18,Y+
                LD      R17,Y+
                LD      R16,Y+
                LD      R15,Y+
                LD      R14,Y+
                LD      R13,Y+
                LD      R12,Y+
                LD      R11,Y+
                LD      R10,Y+
                LD      R9,Y+
                LD      R8,Y+
                LD      R7,Y+
                LD      R6,Y+
                LD      R5,Y+
                LD      R4,Y+
                LD      R3,Y+
                LD      R2,Y+
                LD      R1,Y+
                LD      R0,Y+
                ENDM

PUSH_SP         MACRO                               ; Save stack pointer
                IN      R16,SPH
                ST      -Y,R16
                IN      R16,SPL
                ST      -Y,R16
                ENDM

POP_SP          MACRO                               ; Restore stack pointer
                LD      R16,Y+
                OUT     SPL,R16
                LD      R16,Y+
                OUT     SPH,R16
                ENDM

PUSH_SREG       MACRO                               ; Save status register
                IN      R16,SREG
                ST      -Y,R16
                ENDM

POP_SREG        MACRO                               ; Restore status registers
                LD      R16,Y+
                OUT     SREG,R16
                ENDM

PUSH_SREG_INT   MACRO                               ; Save status register with interrupts ENABLED
                IN      R16,SREG
                SBR     R16,BIT07
                ST      -Y,R16
                ENDM

POP_SREG_INT    MACRO                               ; Restore status registers but DISABLE interrupts
                LD      R16,Y+
                CBR     R16,BIT07
                OUT     SREG,R16
                ENDM
;********************************************************************************************************
;                                         EXTERNAL DECLARATIONS
;********************************************************************************************************

                EXTERN  OSIntExit
                EXTERN  OSIntNesting
                EXTERN  OSTCBCur

                EXTERN  BSP_TickISR_Handler

;********************************************************************************************************
;                                          PUBLIC DECLARATIONS
;********************************************************************************************************

                PUBLIC  BSP_TickISR


;/*$PAGE*/
;********************************************************************************************************
;                                           SYSTEM TICK ISR
;
; Description : This function is the Tick ISR.
;
;               The following C-like pseudo-code describe the operation being performed in the code below.
;
;               Save all registers on the current task's stack:
;                      Use the PUSH_ALL macro
;                      Get the SREG, set Bit #7 and save onto the task's stack using -Y addressing
;                      Use the PUSH_SP macro to save the task's hardware stack pointer onto the current task's stack
;               OSIntNesting++;
;               if (OSIntNesting == 1) {
;                  OSTCBCur->OSTCBStkPtr = SP
;               }
;               Clear the interrupt;                  Not needed for the timer we used.
;               OSTimeTick();                         Notify uC/OS-II that a tick has occured
;               OSIntExit();                          Notify uC/OS-II about end of ISR
;               Restore all registers that were save on the current task's stack:
;                      Use the POP_SP macro to restore the task's hardware stack pointer
;                      Use the POP_SREG macro to restore the SREG register
;                      Use the POP_ALL macro to restore the remaining registers
;               Return from interrupt
;********************************************************************************************************

                RSEG    CODE:CODE:NOROOT(1)

BSP_TickISR:
                PUSH_ALL                            ; Save all registers and status register
                IN      R16,SREG                    ; Save the SREG but with interrupts enabled
                SBR     R16,BIT07
                ST      -Y,R16
                PUSH_SP                             ; Save the task's hardware stack pointer onto task's stack

                LDS     R16,OSIntNesting            ; Notify uC/OS-II of ISR
                INC     R16                         ;
                STS     OSIntNesting,R16            ;

                CPI     R16,1                       ; if (OSIntNesting == 1) {
                BRNE    BSP_TickISR_1

                LDS     R30,OSTCBCur                ;     OSTCBCur->OSTCBStkPtr = Y
                LDS     R31,OSTCBCur+1
                ST      Z+,R28
                ST      Z+,R29                      ; }

BSP_TickISR_1:
                CALL    BSP_TickISR_Handler         ; Call tick ISR Handler written in C

                CALL    OSIntExit                   ; Notify uC/OS-II about end of ISR

                POP_SP                              ; Restore the hardware stack pointer from task's stack
                POP_SREG_INT
                POP_ALL                             ; Restore all registers
                RETI

                END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91女神在线视频| 欧美日韩的一区二区| 91国内精品野花午夜精品| 欧美美女bb生活片| 中文字幕巨乱亚洲| 午夜精品久久久久久久久久久| 久久精品国产色蜜蜜麻豆| 97久久久精品综合88久久| 欧美mv和日韩mv的网站| 一区二区三区四区高清精品免费观看| 极品少妇一区二区三区精品视频| 91免费在线视频观看| 久久综合一区二区| 丝袜诱惑亚洲看片| 色综合亚洲欧洲| 日本一二三四高清不卡| 麻豆精品视频在线观看免费 | 免费观看91视频大全| 99在线精品一区二区三区| 久久久久久久久久久久久夜| 视频一区二区中文字幕| 一本色道**综合亚洲精品蜜桃冫| 国产亚洲婷婷免费| 精品在线一区二区| 欧美一级在线观看| 日日摸夜夜添夜夜添精品视频| 色狠狠桃花综合| 亚洲三级视频在线观看| av电影在线观看完整版一区二区| 久久免费电影网| 国产麻豆日韩欧美久久| 精品国产污污免费网站入口| 三级欧美韩日大片在线看| 欧美人体做爰大胆视频| 午夜亚洲国产au精品一区二区| 色婷婷综合激情| 一区二区免费看| 在线看日本不卡| 亚洲va欧美va人人爽午夜| 在线观看亚洲成人| 五月天久久比比资源色| 欧美精品vⅰdeose4hd| 日本亚洲视频在线| 欧美成人精精品一区二区频| 经典一区二区三区| 久久亚洲二区三区| 成人激情av网| 亚洲男人天堂av| 欧美日本一道本在线视频| 日韩福利电影在线| 26uuu精品一区二区| 国产99久久久久| 成人欧美一区二区三区视频网页| 99国产精品99久久久久久| 自拍偷拍亚洲激情| 欧美视频中文字幕| 久久成人18免费观看| 久久色视频免费观看| 成人精品免费视频| 亚洲一区二区三区在线播放| 3d成人动漫网站| 国产麻豆精品一区二区| 亚洲欧洲精品成人久久奇米网| 91传媒视频在线播放| 日韩综合在线视频| 久久久高清一区二区三区| 一本一道波多野结衣一区二区| 午夜精品久久久久久久久久 | 欧美一区二区三区四区五区| 久久超碰97人人做人人爱| 亚洲国产激情av| 欧美另类高清zo欧美| 国产白丝网站精品污在线入口| 中文字幕亚洲区| 欧美一区二区三区视频免费播放 | 91丨九色丨蝌蚪丨老版| 日韩成人dvd| 中文一区二区在线观看| 欧美日韩大陆一区二区| 国产一区二区美女诱惑| 亚洲国产另类精品专区| 国产欧美日产一区| 欧美一区日本一区韩国一区| 成人av在线一区二区| 蜜桃一区二区三区在线| 亚洲精品久久久蜜桃| 久久久久国产精品麻豆| 56国语精品自产拍在线观看| 91丝袜美腿高跟国产极品老师 | www.一区二区| 美女视频免费一区| 亚洲国产精品一区二区www在线| 欧美激情一区在线观看| 日韩欧美亚洲国产另类| 色94色欧美sute亚洲13| 成人免费看黄yyy456| 国内精品久久久久影院一蜜桃| 亚洲国产aⅴ天堂久久| 1000精品久久久久久久久| 国产午夜久久久久| 精品精品国产高清a毛片牛牛| 欧美天堂亚洲电影院在线播放| 波多野结衣中文字幕一区二区三区| 久久国产人妖系列| 日韩黄色免费网站| 天堂一区二区在线免费观看| 亚洲欧美日韩在线| 亚洲视频一区二区在线观看| 国产日韩视频一区二区三区| 精品国产一区二区三区av性色| 91精品在线观看入口| 欧美日韩国产另类不卡| 欧美亚洲动漫制服丝袜| 色综合久久88色综合天天免费| 91香蕉视频黄| 色吧成人激情小说| 欧美日韩一区在线观看| 欧美在线观看一区二区| 精品视频免费看| 欧美群妇大交群中文字幕| 欧美猛男男办公室激情| 7777精品伊人久久久大香线蕉最新版| 欧美亚洲禁片免费| 欧美丰满高潮xxxx喷水动漫| 日韩欧美国产综合在线一区二区三区| 91精品蜜臀在线一区尤物| 91精品国产91综合久久蜜臀| 欧美日韩一区二区三区在线看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 在线观看一区二区视频| 欧美视频完全免费看| 欧美裸体一区二区三区| 久久综合久久99| 国产精品婷婷午夜在线观看| 国产精品不卡一区二区三区| 亚洲欧美日韩久久| 香港成人在线视频| 黄页网站大全一区二区| 国产成人av电影在线播放| 色欲综合视频天天天| 欧美日韩国产免费一区二区 | 欧美日韩一区二区三区高清 | 欧美三片在线视频观看| 欧美精品日韩一区| 久久综合久久鬼色中文字| 亚洲天堂免费看| 日日夜夜一区二区| 国产精品1024久久| 欧美影院一区二区| 精品久久久久久久久久久院品网| 国产午夜精品一区二区三区嫩草| 亚洲色图.com| 日一区二区三区| 99re热这里只有精品免费视频| 欧美视频第二页| 久久久国际精品| 天堂久久久久va久久久久| 国产精品中文欧美| 欧美三级视频在线观看| 国产亚洲制服色| 日韩精品一二三区| av在线综合网| 欧美成人艳星乳罩| 亚洲午夜三级在线| 国产成人综合亚洲网站| 欧美二区乱c少妇| 中文字幕亚洲不卡| 久久精品国产色蜜蜜麻豆| 色婷婷精品久久二区二区蜜臀av | 欧美日韩不卡一区| 国产精品欧美一级免费| 美国毛片一区二区三区| 色婷婷综合中文久久一本| www亚洲一区| 青青草国产精品亚洲专区无| 91亚洲精品久久久蜜桃网站| 国产日韩欧美精品综合| 日韩国产欧美三级| 在线观看日韩av先锋影音电影院| 久久久午夜精品| 日韩av中文在线观看| 欧洲精品在线观看| 中文字幕亚洲综合久久菠萝蜜| 国产乱理伦片在线观看夜一区| 在线观看91av| 亚洲国产精品久久人人爱蜜臀| 99精品久久只有精品| 欧美激情综合在线| 国产一区二三区好的| 精品日韩在线一区| 蜜臀久久99精品久久久画质超高清| 欧美在线一区二区| 亚洲午夜三级在线| 欧美三级电影一区| 亚洲成人www| 欧美日韩在线直播| 天天影视涩香欲综合网| 欧美色视频在线观看| 天天色天天爱天天射综合| 欧美三级视频在线观看|