Mercurial > hg > CbC > old > device
view mc-code.h @ 134:7a55819b0482
*** empty log message ***
author | kono |
---|---|
date | Sat, 03 May 2003 15:27:00 +0900 |
parents | 7d436c08e949 |
children | 9fb09db54436 |
line wrap: on
line source
/* function required by mc-codegen.c mc-code-*.c have to provied these */ extern int size_of_int; extern int size_of_float; extern int size_of_double; extern int size_of_longlong; extern int endian; extern int MAX_REGISTER; extern int MAX_REGISTGER_VAR; extern int MAX_FREGISTER; extern int MAX_INPUT_REGISTER_VAR; extern int MAX_CODE_INPUT_REGISTER_VAR; extern int MAX_INPUT_DREGISTER_VAR; extern int MAX_CODE_INPUT_DREGISTER_VAR; #define REG_LVAR_OFFSET 2 extern void code_init(); extern void gexpr_code_init(void); extern int register_var(int r); extern int get_register_var(NMTBL *n); extern int get_fregister_var(NMTBL *n); extern int get_input_register_var(int,NMTBL *,int); extern int get_input_fregister_var(int,NMTBL *,int); extern void emit_push(); extern int emit_pop(int type); extern void gexpr_code_init(); extern int code_csvalue(); extern void code_cmpdimm(int e, int csreg); extern void code_gvar(int e1,int reg); extern void code_rgvar(int e1,int reg); extern void code_crgvar(int e1,int reg); extern void code_lvar(int e2,int reg); extern void code_register(int e2,int reg); extern void code_rlvar(int e2,int reg); extern void code_crlvar(int e2,int reg); extern void code_fname(NMTBL *n,int reg); extern void code_const(int e2,int reg); extern void code_neg(int reg); extern void code_not(int reg); extern void code_lnot(int reg); extern void code_preinc(int e1,int e2,int reg); extern void code_postinc(int e1,int e2,int reg); extern void code_cpostinc(int e1,int e2,int reg); extern void code_cpreinc(int e1,int e2,int reg); extern void code_cpostdec(int e1,int e2,int reg); extern void code_cpredec(int e1,int e2,int reg); extern void code_return(int reg); extern void code_environment(int reg); extern void code_bool(int e1); extern char *code_gt(int cond); extern char *code_ugt(int cond); extern char *code_ge(int cond); extern char *code_uge(int cond); extern char *code_eq(int cond); extern void code_cmp_crgvar(int e1); extern void code_cmp_crlvar(int e1); extern void code_cmp_rgvar(int e1); extern void code_cmp_rlvar(int e1); extern void code_cmp_register(int e2); extern void code_string(int e1,int reg); extern void emit_copy(int from,int to,int length,int offset,int value,int det); extern int function(int e1); extern void code_frame_pointer(int e3); extern void code_fix_frame_pointer(int disp_offset); extern void code_jmp(char *s); extern void code_indirect_jmp(int e2); extern int rindirect(int e1); extern void code_assign_gvar(int e2,int reg,int byte); extern void code_assign_lvar(int e2,int reg,int byte); extern void code_assign_register(int e2,int byte,int reg); extern void code_assign(int e2,int byte,int reg); extern void code_register_assop(int e2,int op,int byte); extern void code_assop(int op,int byte); extern void tosop(int op,int oreg); extern void code_opening(char *filename); extern void code_closing(); extern void rexpr(int e1, int l1, char *s,int t); extern void drexpr(int e1, int e2,int l1, int op); extern void jcond(int l, char cond); extern void jmp(int l); extern void code_set_fixed_creg(int mode,int type); extern void code_set_return_register(int mode); extern void text_mode(void); extern void global_table(void); extern void code_label(int labelno); /* floating point part */ extern int dpop_register(); extern int emit_dpop(int); extern void code_fregister(int e2,int reg); extern void code_cmp_fregister(int); extern void code_cmp_drgvar(int); extern void code_cmp_drlvar(int); extern void code_dassign(int,int,int); extern void code_dassign_gvar(int,int,int); extern void code_dassign_lvar(int,int,int); extern void code_dassign_fregister(int e2,int d,int reg); extern void code_dconst(int,int); extern void code_fconst(int,int); extern void code_dneg(int); extern void code_fneg(int); extern void code_drgvar(int,int,int); extern void code_drlvar(int,int,int); extern void dtosop(int,int); extern void emit_dpop_free(int); extern void emit_dpush(int); extern void code_i2d(int,int); extern void code_d2i(int,int); extern void code_u2d(int,int); extern void code_d2u(int,int); extern void code_d2f(int freg); extern void code_f2d(int freg); extern void code_f2i(int freg,int creg); extern void code_f2u(int freg,int creg); extern void code_i2f(int creg,int freg); extern void code_u2f(int creg,int freg); extern void code_dpreinc(int e1,int e2,int d,int reg); extern void code_dpostinc(int e1,int e2,int d,int reg); extern void code_dassop(int op,int d); extern void code_arg_register(); extern int get_register(void); extern int get_fregister(void); extern void free_register(int i) ; extern void free_fregister(int i) ; extern int pop_register(void); extern void emit_pop_free(int xreg); /* */