#ifndef CONTEXT_H #define CONTEXT_H #include #define NUM_TASKS 4 typedef struct { int t_delay; // delay time, used later unsigned char t_reg[9]; // current registers (B as t_reg[8]) unsigned char acc, psw; // accumulator and status word unsigned int dptr; // current data pointer void (code *t_pc)(void);// current pc unsigned char t_sp; // current stack pointer } task_descriptor; extern xdata task_descriptor taskdesc[]; // // least significant 8-bits of the task descriptor // extern task_descriptor xdata *current_task; void context_init(void); void yield(void); #endif