version 1.257, 2012/07/23 14:28:26
|
version 1.258, 2012/07/23 14:46:31
|
Line 651 void set_stack_sizes(ImageHeader * heade
|
Line 651 void set_stack_sizes(ImageHeader * heade
|
#define NEXTPAGE(addr) ((Address)((((UCell)(addr)-1)&-pagesize)+pagesize)) |
#define NEXTPAGE(addr) ((Address)((((UCell)(addr)-1)&-pagesize)+pagesize)) |
#define NEXTPAGE2(addr) ((Address)((((UCell)(addr)-1)&-pagesize)+2*pagesize)) |
#define NEXTPAGE2(addr) ((Address)((((UCell)(addr)-1)&-pagesize)+2*pagesize)) |
|
|
int gforth_go(Xt* ip0) |
Cell gforth_go(Xt* ip0) |
{ |
{ |
#ifdef SYSSIGNALS |
#ifdef SYSSIGNALS |
int throw_code; |
int throw_code; |
Line 691 int gforth_go(Xt* ip0)
|
Line 691 int gforth_go(Xt* ip0)
|
} |
} |
#endif |
#endif |
|
|
return((int)(Cell)gforth_engine(ip0 sr_call)); |
return((Cell)gforth_engine(ip0 sr_call)); |
} |
} |
|
|
#if !defined(INCLUDE_IMAGE) && !defined(STANDALONE) |
#if !defined(INCLUDE_IMAGE) && !defined(STANDALONE) |
Line 2470 int gforth_quit()
|
Line 2470 int gforth_quit()
|
return gforth_go(gforth_header->quit_entry); |
return gforth_go(gforth_header->quit_entry); |
} |
} |
|
|
|
int gforth_execute(Xt xt) |
|
{ |
|
debugp(stderr, "Execte Gforth xt %p: %p\n", xt, gforth_header->execute_entry); |
|
|
|
*--gforth_SP = (Cell)xt; |
|
|
|
return gforth_go(gforth_header->quit_entry); |
|
} |
|
|
|
Xt gforth_find(Char * name) |
|
{ |
|
debugp(stderr, "Find '%s' in Gforth: %p\n", name, gforth_header->find_entry); |
|
|
|
*--gforth_SP = (Cell)name; |
|
*--gforth_SP = strlen(name); |
|
|
|
return (Xt)gforth_go(gforth_header->find_entry); |
|
} |
|
|
int gforth_main(int argc, char **argv, char **env) |
int gforth_main(int argc, char **argv, char **env) |
{ |
{ |
char *path, *imagename; |
char *path, *imagename; |