os_cpu_c.c.bak
来自「在MC68HC908JB8上移植UCOSII成功」· BAK 代码 · 共 120 行
BAK
120 行
#define OS_CPU_GLOBALS
#include "includes.h"
void *OSTaskStkInit (void (*task)(void *pd), void *pdata, void *ptos, INT16U opt)
{
INT16U *stk;
opt = opt;
stk = (INT16U *)ptos;
*--stk = (INT16U)(task);
*--stk = (INT16U)(0x00);
*--stk = (INT16U)(0x00);
return ((void *)stk);
}
void OSStartHighRdy(void)
{
OSRunning++;
asm {
LDX OSTCBHighRdy
STX OSTCBCur
PSHX
LDX OSTCBHighRdy:1
STX OSTCBCur:1
PULH
LDA 0,x
PSHA
LDX 1,x
PULH
TXS
PULH
RTI
};
}
void OSIntCtxSw(void)
{
asm {
AIS #4
TSX
PSHX
PSHH
LDX OSTCBCur:0
PSHX
LDX OSTCBCur:1
PULH
PULA
STA 0,x
PULA
STA 1,x
LDA OSPrioHighRdy
STA OSPrioCur
LDX OSTCBHighRdy:0
STX OSTCBCur:0
PSHX
LDX OSTCBHighRdy:1
STX OSTCBCur:1
PULH
LDA 0,x
PSHA
LDX 1,x
PULH
TXS
PULH
RTI
};
}
void OSCtxSw(void)
{
asm {
PSHH
TSX
PSHX
PSHH
LDX OSTCBCur:0
PSHX
LDX OSTCBCur:1
PULH
PULA
STA 0,x
PULA
STA 1,x
LDA OSPrioHighRdy
STA OSPrioCur
LDX OSTCBHighRdy:0
STX OSTCBCur:0
PSHX
LDX OSTCBHighRdy:1
STX OSTCBCur:1
PULH
LDA 0,x
PSHA
LDX 1,x
PULH
TXS
PULH
RTI
};
}
void OSTaskCreateHook (OS_TCB *ptcb)
{
ptcb = ptcb;
}
void OSTaskDelHook (OS_TCB *ptcb)
{
ptcb = ptcb;
}
void OSTaskSwHook (void)
{
}
void OSTaskStatHook (void)
{
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?