Mercurial > hg > CbC > old > device
view mc-codegen.h @ 320:183726ccd83d
asm minor fix. ia32 table jmp fix.
author | kono |
---|---|
date | Sat, 19 Jun 2004 00:13:36 +0900 |
parents | 117baacd1ed0 |
children | da2e3f2d127d |
line wrap: on
line source
/* for mc-codegen.c */ extern int use; /* generated value will be used in gexpr */ #define USE_CREG (-1) #define ASM_INPUT 1 #define ASM_OUTPUT 2 #define ASM_USED 3 #define MAX_ASM_REG 30 /* function provided by mc-code-*.c */ extern int get_register_var(NMTBL *); extern int get_dregister_var(NMTBL *,int); extern int get_lregister_var(NMTBL *); extern void arg_register(NMTBL *fnptr); /* function provided by mc-codegen.c */ extern void codegen_init(); extern void def_label(int cslabel, int dlabel); extern int backdef(void); extern int free_register_count(int); extern int fwdlabel(void); extern void b_expr(int e1, char cond, int l1,int err); extern void bexpr(int e1, char cond, int l1); extern void emit_init(void); extern void fwddef(int l); extern int is_code(NMTBL *fnptr); extern int is_function(NMTBL *fnptr); extern int function_type(int e1,int *dots); extern void parallel_rassign(int list); extern int csvalue(); extern void cmpdimm(int e, int csreg,int label,int cond); extern void code_enter(char *name) ; extern void code_enter1(int args); extern void code_init(void); extern void code_leave(char *name) ; extern void emit_data(int e, int t, NMTBL *n); extern void emit_data_closing(NMTBL *n); extern void emit_init(void); extern void enter(char *name); extern void enter1(); extern int g_expr(int e1); extern int g_expr_u(int e1); extern void gen_comment(char *s); extern void gen_gdecl(char *n, int gpc); extern void gen_source(char *s); extern int gexpr(int e1,int use); extern void gexpr_init(void); extern void jmp(int l); extern void jmp_eq_label(int l); extern void jmp_label(int l); extern void leave(int control, char *name); extern void opening(char *filename); extern void closing(); extern void ret(void); extern void creg_destroy(); extern int contains(int e,int type); extern int contains_in_list(int e,int type); extern int contains_p(int e,int (*p)(int)); extern int contains_in_list_p(int e,int (*p)(int)); /* end */