⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu_a.s43

📁 uc/os操作系统在msp430单片机上的移植
💻 S43
字号:
;//=================================================
;//:os_cpu_a.s43
;//		----
;//--MSP430移植 
;//--2007/09	by zhaoert
;//==================================================
        
	PUBLIC OSCtxSw
	PUBLIC OSStartRdy
        
	EXTERN OSPrioCur
	EXTERN OSPrioHighRdy
	EXTERN OSTaskStkPtr
 
;//----------------------------------------------------------------------
;//-----------------------OSCtxSw( ),OSStartRdy()------------------------
;
       ORG     0E000h

OSCtxSw:	
	;PUSHRS				; Save current task's context	
	;//PUSH    R3
	PUSH	R4
	PUSH	R5
	PUSH	R6
	PUSH	R7
	PUSH	R8
	PUSH	R9
	PUSH	R10
	PUSH	R11
	PUSH	R12
	PUSH	R13
	PUSH	R14
	PUSH	R15
	PUSH	SR
        
	;save TaskStackPtr to OSTaskStkPtr[OSPrioCur]
	MOV #OSTaskStkPtr, R7
	MOV.B OSPrioCur, R8
	ADD R8, R7
	ADD R8, R7
         
	;MOV  SP, @R7 
	PUSH SP
	POP  0(R7)
	ADD  #2, 0(R7)
        
OSStartRdy:
	;OSPrioCur<=OSPrioHighRdy
	MOV.B OSPrioHighRdy, R7
	MOV.B R7, OSPrioCur
	;get TaskStackPtr from OSTaskStkPtr[OSPrioCur]
	MOV #OSTaskStkPtr, R7
	MOV.B OSPrioCur, R8
	ADD R8, R7
	ADD R8, R7
       
	MOV @R7, SP
        
	;POPRS
	POP      SR
	POP      R15
 	POP      R14
 	POP      R13
 	POP      R12
 	POP      R11
 	POP      R10
 	POP      R9
 	POP      R8
 	POP      R7
 	POP      R6
	POP      R5
	POP      R4
	;//POP      R3
        
	EINT
	RET
        
;------------------------------------------------------
        
	END
;//:~

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -