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

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

?? os_cpu_a.asm

?? EASYARM8962開發板帶的實例
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
        LDR     R4, =OSRunning                                          ;  OSRunning = TRUE
        MOV     R5, #1
        STRB    R5, [R4]

        LDR     R4, =NVIC_INT_CTRL                                      ;  trigger the PendSV exception
                                                                        ;  觸發軟件中斷
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]

        CPSIE   I                                                       ;  enable interrupts at processor 
                                                                        ;  level使能所有優先級的中斷
OSStartHang
        B       OSStartHang             


;*********************************************************************************************************
;** Function name:			OSCtxSw
;** Descriptions:		    Perform a contex switch from task level  任務級上下文切換                          
;** Input parameters:	    None 無
;** Output parameters:	    None 無
;** Returned value:			None 無        
;** Created by:				Steven Zhou 周紹剛
;** Created Date:		    2007.01.18
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            Ni Likao 倪力考
;** Modified date:          2007.11.02
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
OSCtxSw
        PUSH    {R4, R5}
		LDR     R4, =NVIC_INT_CTRL                                      ;  trigger the PendSV exception
                                                                        ;  觸發軟件中斷
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]
		POP     {R4, R5}
        BX      LR


;*********************************************************************************************************
;** Function name:			OSIntCtxSw
;** Descriptions:		    called by OSIntExit() when it determines a context switch is needed as the
;**                         result of an interrupt.
;**                         中斷級任務切換                 
;** Input parameters:	    None 無
;** Output parameters:	    None 無
;** Returned value:			None 無
;** Created by:				Steven Zhou 周紹剛
;** Created Date:		    2007.01.18
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            Ni Likao 倪力考
;** Modified date:          2007.11.02
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
OSIntCtxSw
        PUSH    {R4, R5}
		LDR     R4, =NVIC_INT_CTRL                                      ;  trigger the PendSV exception
                                                                        ;  觸發軟件中斷
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]
		POP     {R4, R5}
        BX      LR
        NOP


;*********************************************************************************************************
;** Function name:			OSPendSV
;** Descriptions:		    Used to cause a context switch 用于上下文切換
;** Input parameters:	    None 無
;** Output parameters:	    None 無
;** Returned value:			None 無
;** Created by:				Steven Zhou 周紹剛
;** Created Date:		    2007.01.18
;**-------------------------------------------------------------------------------------------------------
;** Modified by:            Ni Likao 倪力考
;** Modified date:          2007.11.02
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
OSPendSV
        IF OS_CRITICAL_INT_PRIO > 0	                                    ;  disable interupt 禁能中斷
		    MRS R3, BASEPRI
            LDR R1, =OS_CRITICAL_INT_PRIO
			MSR BASEPRI, R1
		ELSE
        	MRS     R3, PRIMASK                
        	CPSID   I
		ENDIF


		MRS     R0, PSP                                                 ;  PSP is process stack pointer  
                                                                        ;  PSP是任務的堆棧指針
        CBZ     R0, OSPendSV_nosave                                     ;  skip register save the first 
                                                                        ;  time第一次跳過保存

        SUB     R0, R0, #0x20                                           ;  save remaining regs r4-11 on 
                                                                        ;  process stack 保存r4-r11
        STM     R0, {R4-R11}

        LDR     R4, =OSTCBCur                                           ;  OSTCBCur->OSTCBStkPtr = SP;
        LDR     R4, [R4]
        STR     R0, [R4]                                                ;  R0 is SP of process being 
                                                                        ;  switched outR0是被切換開的任務
                                                                        ;  的堆棧指針
OSPendSV_nosave
        PUSH    {R14}                                                   ;  need to save LR exc_return 
                                                                        ;  value保存LR返回值

        LDR     R0, =OSTaskSwHook                                       ;  OSTaskSwHook();
        BLX     R0
        POP     {R14}
 	  
        LDR     R4, =OSPrioCur                                          ;  OSPrioCur = OSPrioHighRdy
        LDR     R5, =OSPrioHighRdy     
        LDRB    R6, [R5]
        STRB    R6, [R4]

        LDR     R4, =OSTCBCur                                           ;  OSTCBCur  = OSTCBHighRdy;
        LDR     R6, =OSTCBHighRdy      
        LDR     R6, [R6]
        STR     R6, [R4]

        LDR     R0, [R6]                                                ;  SP = OSTCBHighRdy->OSTCBStkPtr;
        LDM     R0, {R4-R11}                                            ;  restore r4-11 from new process
                                                                        ;  stack 從新任務的堆棧恢復r4-r11
        ADD     R0, R0, #0x20
        MSR     PSP, R0                                                 ;  load PSP with new process SP
                                                                        ;  從新任務的堆棧恢復PSP
 	   	
        ORR     LR, LR, #0x04                                           ;  ensure exception return uses 
                                                                        ;  PSP確保返回后使用PSP
        
		IF OS_CRITICAL_INT_PRIO > 0                                     ;  restore interrupts 恢復中斷  
		    MSR 	BASEPRI,  R3
		ELSE
			MSR     PRIMASK, R3
		ENDIF
		   
	    BX      LR                                                      ; exception return will restore 
                                                                        ;  remaining context 
                                                                        ;  返回時會恢復剩下的上下文
        NOP
      
 

;*********************************************************************************************************
;** Function name:      IntDisAll
;** Descriptions:	Disable all interrupts from the interrupt controller  關閉中斷控制器的所有中斷
;** Input parameters:	None 無
;** Output parameters:	None 無
;** Returned value:	None 無
;** Created by:		Steven Zhou 周紹剛
;** Created Date:	2007.12.12
;**-------------------------------------------------------------------------------------------------------
;** Modified by:         
;** Modified date:       
;**-------------------------------------------------------------------------------------------------------
;*********************************************************************************************************
intDisAll
    CPSID   I
    BX      LR


    ALIGN


    END
;*********************************************************************************************************
;  END FILE                                               
;*********************************************************************************************************

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影一二三区| 国内久久精品视频| 综合精品久久久| 久久精品视频在线免费观看| 日韩视频一区二区在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 国产欧美一区视频| 精品久久国产老人久久综合| 日韩一区二区在线观看| 91精品国产综合久久久久久久久久| 欧美日韩在线播放一区| 欧美日韩在线播放三区四区| 欧美揉bbbbb揉bbbbb| 欧美色视频在线| 欧美精品乱人伦久久久久久| 91精品免费在线观看| 日韩一区二区电影网| 精品日韩一区二区三区免费视频| 精品国产乱码久久久久久浪潮| 欧美性受xxxx黑人xyx性爽| 26uuu国产电影一区二区| 欧美日韩国产高清一区二区| 91麻豆精品国产自产在线观看一区| 国产精品自拍毛片| 狠狠色狠狠色综合日日91app| 亚洲 欧美综合在线网络| 亚洲主播在线播放| 亚洲一区自拍偷拍| 麻豆成人久久精品二区三区红| 欧美日韩专区在线| 欧美人狂配大交3d怪物一区| 91精品久久久久久久99蜜桃| 日韩一区二区三区精品视频| 精品日韩一区二区| 国产午夜精品久久久久久免费视| 中文字幕一区二区三区蜜月 | 五月天久久比比资源色| 日本欧美加勒比视频| 国产99精品国产| 在线观看一区日韩| 日韩一区二区免费高清| 亚洲国产成人午夜在线一区| 自拍偷拍亚洲综合| 美女网站一区二区| 99这里都是精品| 欧美视频一区二区在线观看| 日韩精品一区二| 国产精品久久久久一区 | 一本到高清视频免费精品| 欧美色中文字幕| 久久综合久久综合九色| 亚洲免费高清视频在线| 另类成人小视频在线| 成人av免费在线播放| 91精品国产色综合久久久蜜香臀| 国产日韩一级二级三级| 综合久久久久久久| 久久精品国产亚洲a| 9久草视频在线视频精品| 91精品欧美一区二区三区综合在| 中文字幕成人网| 美女视频一区二区| 在线日韩av片| 国产中文字幕一区| 国产福利精品导航| 亚洲大型综合色站| 国产精选一区二区三区| 国产一区二区三区免费在线观看| 91久久国产综合久久| 国产麻豆成人传媒免费观看| 日本丰满少妇一区二区三区| 7777精品伊人久久久大香线蕉 | 国产无遮挡一区二区三区毛片日本| 91精品国产综合久久精品app | 亚洲国产精品久久久久婷婷884| 日韩av一区二区在线影视| 久久se精品一区精品二区| 99视频一区二区| 欧美乱妇20p| 亚洲欧美综合色| 精一区二区三区| 欧美日韩第一区日日骚| 国产精品久久久一本精品| 久久精品国产澳门| 欧洲生活片亚洲生活在线观看| 国产清纯白嫩初高生在线观看91| 日韩在线观看一区二区| 在线观看一区二区精品视频| 亚洲国产精品黑人久久久| 国产原创一区二区三区| 欧美高清视频一二三区 | 日韩一区二区在线观看视频播放| 亚洲精品菠萝久久久久久久| 国产乱码一区二区三区| 精品国产一区二区三区av性色| 亚洲一区二区av在线| 色综合视频一区二区三区高清| 久久嫩草精品久久久精品一| 日韩精品电影一区亚洲| 欧洲色大大久久| 亚洲免费在线视频| 成人av在线一区二区三区| 国产亚洲精品资源在线26u| 免费高清视频精品| 欧美精品aⅴ在线视频| 亚洲地区一二三色| 精品视频999| 一区二区三区不卡视频 | 91精品在线一区二区| 亚洲天堂av老司机| 91片在线免费观看| 亚洲最色的网站| 制服丝袜在线91| 日韩av在线播放中文字幕| 一区二区三区在线观看网站| 不卡一区二区三区四区| 一级特黄大欧美久久久| 久久精品在线观看| 亚洲天堂免费看| 国产呦精品一区二区三区网站| 欧美精品自拍偷拍| 亚洲国产精品久久不卡毛片 | 亚洲制服丝袜一区| 在线中文字幕一区二区| 亚洲午夜激情网站| 91精品国产手机| 日韩不卡在线观看日韩不卡视频| 欧美mv日韩mv国产网站| 精品无人区卡一卡二卡三乱码免费卡| 精品99久久久久久| 国产馆精品极品| 国产精品人人做人人爽人人添| 成人av电影观看| 亚洲成人资源在线| 91精品国产色综合久久不卡电影 | 欧美吞精做爰啪啪高潮| 青青草一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 国产成人无遮挡在线视频| 国产精品视频看| 欧美日韩一区高清| 日韩电影网1区2区| 国产精品丝袜91| 日本乱码高清不卡字幕| 日本欧美久久久久免费播放网| 精品理论电影在线观看| 97国产一区二区| 亚洲图片欧美视频| 在线观看欧美日本| 国产丝袜欧美中文另类| 91麻豆国产精品久久| 亚洲图片欧美一区| 国产欧美日韩精品a在线观看| 99久久精品国产一区二区三区| 丝袜美腿成人在线| 欧美精品一区二区蜜臀亚洲| 日韩一区二区在线免费观看| 日韩欧美高清一区| 亚洲精品你懂的| 亚洲日本在线a| 亚洲欧美日韩一区二区三区在线观看| 中文字幕av一区 二区| 久久精品免费在线观看| 精品91自产拍在线观看一区| 精品免费视频一区二区| 在线观看视频一区二区| 91精品国产综合久久久蜜臀图片| 精品久久人人做人人爽| 韩国一区二区在线观看| 久久久久久综合| 欧美调教femdomvk| 国产精品一线二线三线精华| 亚洲色图视频网| 日韩精品一区二区三区视频在线观看 | 国产在线乱码一区二区三区| 亚洲欧美日韩精品久久久久| 久久久久久久av麻豆果冻| 欧美伊人久久久久久久久影院| 国内精品久久久久影院一蜜桃| 亚洲免费三区一区二区| 26uuu欧美| 欧美精品乱码久久久久久按摩| 成人毛片视频在线观看| 亚洲福利一区二区| 国产精品免费视频网站| 久久五月婷婷丁香社区| 欧美日韩一级视频| 色婷婷国产精品| 国产精品77777| 国产在线不卡一卡二卡三卡四卡| 久久久午夜精品理论片中文字幕| 欧美日韩精品系列| 欧美亚洲国产bt| 国产91露脸合集magnet| 国产伦精品一区二区三区视频青涩| 亚洲综合激情网| 一区二区三区日韩精品视频| 久久精品无码一区二区三区| 精品国产凹凸成av人网站| 欧美日产国产精品|