Mercurial > hg > CbC > old > device
view mc-codegen.h @ 95:185d2cc6a3a9
*** empty log message ***
author | kono |
---|---|
date | Thu, 13 Mar 2003 14:41:48 +0900 |
parents | 1ad7045741a7 |
children | 07c2554e1cfa |
line wrap: on
line source
/* max stack in an expression (for each int, float ) */ #define MAX_MAX 10 extern int creg; /* current register */ extern int reg_sp; /* REGister Stack-Pointer */ extern int *regs; /* 使われているレジスタを示すフラグ */ extern int *regv; /* 値が入っているかどうか */ extern int reg_stack[MAX_MAX]; /* 実際のレジスタの領域 */ /* floating point registers */ extern int freg; /* current floating point register */ extern int freg_sp; /* floating point REGister Stack-Pointer */ extern int *fregs; /* 使われているレジスタを示すフラグ */ extern int *fregv; /* 値が入っているかどうか */ extern int freg_stack[MAX_MAX]; /* 実際のレジスタの領域 */ extern int use; /* generated value will be used in gexpr */ /* function provided by mc-codegen.c */ extern void def_label(int cslabel, int dlabel); extern int backdef(void); extern int free_register_count(void); 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 csvalue(); extern void cmpdimm(int e, int csreg); 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 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 jcond(int l, char cond); 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 void arg_register(NMTBL *fnptr); /* floating point */ extern void dassop(int e1); extern void dmachinop(int e1); extern void dassign(int e1); /* end */