Mercurial > hg > CbC > old > device
view mc-codegen.h @ 94:1ad7045741a7 dbinop
float dbinop fix
author | kono |
---|---|
date | Wed, 12 Mar 2003 15:28:44 +0900 |
parents | 917947ffeb7c |
children | 185d2cc6a3a9 |
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 dreg; /* temporary register */ extern int reg_sp; /* REGister Stack-Pointer */ extern int rname[MAX_MAX]; extern int regs[MAX_MAX]; /* 使われているレジスタを示すフラグ */ extern int reg_stack[MAX_MAX]; /* 実際のレジスタの領域 */ extern int regv[MAX_MAX]; /* 値が入っているかどうか */ /* floating point registers */ extern int freg; /* current floating point register */ extern int greg; /* current floating point register */ extern int freg_sp; /* floating point REGister Stack-Pointer */ extern int frname[MAX_MAX]; extern int fregs[MAX_MAX]; /* 使われているレジスタを示すフラグ */ extern int freg_stack[MAX_MAX]; /* 実際のレジスタの領域 */ extern int fregv[MAX_MAX]; /* 値が入っているかどうか */ extern int use; /* generated value will be used */ /* function provided by mc-codegen.c */ extern void def_label(int cslabel, int dlabel); extern int backdef(void); extern int csvalue(); 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 */