void set_start_mark(void);
void set_end_mark(void);
void set_value(int val);
void set_addr_val(int *addr, int val);
void set_pass(void);
void set_fail(void);
int *get_current_loc(void);





