📄 os_cpu_a.asm
字号:
; INT SVC system
* Copyright (c) 2007,南京因泰莱电器股份有限公司开发部
* All rights reserved.
*
* 文件名称:OS_CPU_A.asm
* 摘 要:实现F2812操作系统UCOS-II的中断任务切换
*
* 当前版本:0.9
* 作 者:洪远洋
* 完成日期:2006年1月5日
*
* 取代版本:0.1
* 原作者 :洪远洋
* 完成日期:2007年1月4日
*
*
*
*
.page
.text
_OSIntCtxSwExe:
.ref _OSTCBHighRdy
.ref _OSTCBCur
.ref _OSPrioHighRdy
.ref _OSPrioCur
.ref _OSIntCtxFlag
.global _OSIntCtxSwExe
MOVW ACC, #0 ; 清零_OSIntCtxFlag,保证下一次切换进行
MOVW @_OSIntCtxFlag, ACC
MOVW DP,#_OSTCBHighRdy ; OSTCBCur = OSTCBHighRdy
MOVL ACC,@_OSTCBHighRdy
MOVW DP,#_OSTCBCur
MOVL @_OSTCBCur,ACC
MOVW DP,#_OSPrioHighRdy ;OSPrioCur = OSPrioHighRdy
MOV AL,@_OSPrioHighRdy
MOVW DP,#_OSPrioCur
MOV @_OSPrioCur,AL
;=================================================================================
MOVW DP,#_OSTCBHighRdy ;SP = OSTCBhighRdy->OSTCBStkPtr
MOVL XAR4,@_OSTCBHighRdy
MOV AL,*+XAR4[0]
MOV @SP,AL
POP RPC ;取出新任务堆栈中的CONTEXT
POP XT
POP AR1H:AR0H
POP XAR2
POP XAR3
POP XAR4
POP XAR5
POP XAR6
POP XAR7
IRET
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -