?? os_cpu_c.c
字號:
#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)
{
}
void OSTimeTickHook (void)
{
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -