00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "..\inc\includes.h"
00012 #include "..\os_core\os_includes.h"
00013
00014 OS_STACK *OsTaskStackInit(void (*Task)(void),OS_STACK *ptos) LargeReentrant{
00015 OS_STACK *StackTemp;
00016
00017 StackTemp=ptos;
00018 StackTemp-= sizeof(INT16U);
00019 *(INT16U*)StackTemp=(INT16U)Task;
00020 *--StackTemp='A';
00021 *--StackTemp='B';
00022 *--StackTemp='H';
00023 *--StackTemp='L';
00024 *--StackTemp=PSW;
00025 *--StackTemp=0;
00026 *--StackTemp=1;
00027 *--StackTemp=2;
00028 *--StackTemp=3;
00029 *--StackTemp=4;
00030 *--StackTemp=5;
00031 *--StackTemp=6;
00032 *--StackTemp=7;
00033 *--StackTemp=(INT8U)OsCpuStack-1
00034 +2
00035 +5
00036 +8
00037 ;
00038 return StackTemp;
00039 }
00040
00041
00042
00043
00044
00045
00046
00047