
//-------------------------
//  define variable
//-------------------------

#define SystemCallSize 20  // 20*2 system call
#define KernelPredicate (8-1)    //(0~7)
#define	DataSize	8	//2^8=256=32*8
#define	Max_Task	5


//-------------------------
//  define memory allocation 
//-------------------------

#define IVTStart 512                            
#define IOMapStart    IVTStart+DataSize*256     
#define SysCall       0x2F3DB8

/* Kernel infos */
#define Kernel_Code    0x100A00
#define Kernel_Data    0x200A00                 
#define Kernel_Heap    0x240A00
#define Kernel_Stack   0x2F3DB8               
//#define Kernel_Stack   0x240A00
//#define Kernel_Heap    0x260800               

/* Task 1 infos */
#define Task1_Start    0x413FB8           
#define Task1_Data     0x45EFB8                
#define Task1_Heap     0x4847B8                
#define Task1_Stack    0x4B67B8                
#define Task1_Frame    0x4D6598

/* Task 2 infos */
#define Task2_Start    0x4D65B8
#define Task2_Data     0x5215B8                
#define Task2_Heap     0x546DB8                
#define Task2_Stack    0x578DB8                
#define Task2_Frame    0x598B98

/* Task 3 infos */
#define Task3_Start    0x598BB8         
#define Task3_Data     0x5E3BB8                
#define Task3_Heap     0x6093B8                
#define Task3_Stack    0x63B3B8                
#define Task3_Frame    0x65B198

/* Task 4 infos */
#define Task4_Start    0x65B1B8
#define Task4_Data     0x6A61B8                
#define Task4_Heap     0x6CB9B8                
#define Task4_Stack    0x6FD9B8
#define Task4_Frame    0x71D798

/* Task 5 infos */
#define Task5_Start    0x71D7B8
#define Task5_Data     0x7687B8                
#define Task5_Heap     0x78DFB8                
#define Task5_Stack    0x7BFFB8                
#define Task5_Frame    0x7DFD98

//-------------------------

#define TEXT_SIZE  0x4B000
#define DATA_SIZE  0x25800
#define TOTAL_SIZE 0x70810


