os_cpu_a.s.bak

来自「移植在鱼板上运行的ucos」· BAK 代码 · 共 45 行

BAK
45
字号
	AREA CPUCode,CODE,READONLY
	EXPORT OSCtxSw
OSCtxSw
	STMFD sp!,{lr}
	STMFD sp!,{r0-r12,lr}
	MRS r0,cpsr
	STMFD sp!,{r0}
	IMPORT OSTCBCur
	LDR r4,=OSTCBCur
	LDR r5,[r4]
	STR sp,[r5]
	IMPORT OSTaskSwHook
	BL OSTaskSwHook
	;OSTCBCur=OSTCBHighRdy
	IMPORT OSTCBHighRdy
	LDR r5,=OSTCBHighRdy
	LDR r5,[r5]
	STR r5,[r4] 
	IMPORT OSPrioHighRdy
	LDR r6,=OSPrioHighRdy
	LDRB r6,[r6]
	IMPORT OSPrioCur
	LDR r7,=OSPrioCur
	STRB r6,[r7]
	LDR sp,[r5]
	LDMFD sp!,{r4}
	MSR cpsr_cxsf,r4
	LDMFD sp!,{r0-r12,lr,pc}
	
	EXPORT OSStartHighRdy
OSStartHighRdy
	IMPORT OSTaskSwHook
	BL OSTaskSwHook
	IMPORT OSRunning
	LDR r4,=OSRunning
	MOV r5,#1
	STRB r5,[r4]
	IMPORT OSTCBHighRdy
	LDR r4,=OSTCBHighRdy
	LDR r4,[r4]
	LDR sp,[r4]
	LDMFD sp!,{r4}
	MSR cpsr_cxsf,r4
	LDMFD sp!,{r0-r12,lr,pc}
	END

⌨️ 快捷键说明

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