home *** CD-ROM | disk | FTP | other *** search
-
- /* Protogen Version 1.00 Tuesday August 06, 1996 10:01:03 */
-
- /* Gcode68.c */
-
- int chksize(int lsize, int rsize);
- AMODE *make_label(int lab);
- AMODE *makebf(ENODE *node, AMODE *ap1, int size);
- AMODE *make_immed(long i);
- AMODE *make_offset(ENODE *node);
- void tofloat(AMODE *ap,int size);
- void make_legal(AMODE *ap,int flags,int size);
- void doshift(int op, AMODE *ap2, AMODE *ap1, int size);
- void bit_legal(AMODE *ap,ENODE *node, int size);
- AMODE *get_bitval(AMODE *ap,ENODE *node, int size);
- void bit_move(AMODE *ap1, AMODE *ap2, ENODE *node, int flags, int sizein, int sizeout);
- void do_extend(AMODE *ap,int isize,int osize,int flags);
- int isshort(ENODE *node);
- int isbyte(ENODE *node);
- AMODE *gen_index(ENODE *node);
- AMODE *gen_deref(ENODE *node, int flags,int size);
- AMODE *gen_unary(ENODE *node,int flags,int size,int op, int fop);
- AMODE *gen_binary(ENODE *node,int flags,int size,int op, int fop);
- AMODE *gen_xbin(ENODE *node,int flags,int size,int op, int fop);
- AMODE *gen_shift(ENODE *node, int flags, int size, int op);
- AMODE *gen_modiv(ENODE *node, int flags, int size, int op, int modflag);
- void swap_nodes(ENODE *node);
- AMODE * gen_pdiv(ENODE *node, int flags, int size);
- AMODE * gen_pmul(ENODE *node, int flags, int size);
- AMODE *gen_mul(ENODE *node, int flags, int size, int op);
- AMODE *gen_hook(ENODE *node, int flags, int size);
- AMODE *gen_asadd(ENODE *node, int flags, int size, int op, int fop);
- AMODE *gen_aslogic(ENODE *node, int flags, int size, int op);
- AMODE *gen_asshift(ENODE *node, int flags, int size, int op);
- AMODE *gen_asmul(ENODE *node, int flags, int size,int op);
- AMODE *gen_asmodiv(ENODE *node, int flags, int size, int op, int modflag);
- AMODE *gen_moveblock(ENODE *node, int flags, int size);
- AMODE *gen_assign(ENODE *node, int flags, int size);
- AMODE *gen_refassign(ENODE *node, int flags, int size);
- AMODE *gen_aincdec(ENODE *node, int flags, int size, int op);
- int push_param(ENODE *ep,int size);
- int push_stackblock(ENODE *ep);
- int gen_parms(ENODE *plist,int size);
- AMODE *gen_fcall(ENODE *node,int flags, int size);
- AMODE *gen_expr(ENODE *node, int flags, int size);
- int natural_size(ENODE *node);
- void gen_compare(ENODE *node, int btype1, int btype2, int btype3, int btype4, int label);
- void truejp(ENODE *node, int label);
- void falsejp(ENODE *node, int label);
-
- /* Gstmt68.c */
-
- void genstmtini(void);
- AMODE *makedreg(int r);
- AMODE *makeareg(int r);
- AMODE *makefreg(int r);
- AMODE *make_mask(int mask, int reverse, int floatflag);
- AMODE *make_direct(int i);
- AMODE *make_strlab(char *s);
- void genwhile(SNODE *stmt);
- void gen_for(SNODE *stmt);
- void genif(SNODE *stmt);
- void gendo(SNODE *stmt);
- void gen_genword(SNODE *stmt);
- AMODE *set_symbol(char *name, int isproc);
- AMODE *call_library(char *lib_name,int size);
- int analyzeswitch(SNODE *stmt);
- void genbasicswitch(SNODE *stmt);
- void bingen(int lower, int avg, int higher,AMODE *ap1, int deflab, int size);
- void genbinaryswitch(SNODE *stmt);
- void gencompactswitch(SNODE *stmt);
- void gencase(SNODE *stmt);
- void genxswitch(SNODE *stmt);
- void genreturn(SNODE *stmt,int flag);
- void genstmt(SNODE *stmt);
- void scppinit(void);
- void genfunc(SNODE *stmt);
-
- /* Outco68.c */
-
- void outcodeini(void);
- void datalink(int flag);
- void putop(int op);
- void putconst(ENODE *offset);
- void putlen(int l);
- void putamode(AMODE *ap);
- void put_code(int op,int len,AMODE *aps,AMODE *apd,AMODE *ape);
- void put_fmask(int mask, int reverse);
- void put_mask(int mask, int reverse);
- void putreg(int r);
- void gen_strlab(char *s);
- void put_label(int lab);
- void genfloat(float val);
- void gendouble(double val);
- void genlongdouble(long double val);
- void genbyte(long val);
- void genword(long val);
- void genlong(long val);
- void gensrref(char *name,int val);
- void genref(SYM *sp,int offset);
- void genpcref(SYM *sp,int offset);
- void genstorage(int nbytes);
- void gen_labref(int n);
- int stringlit(char *s);
- void dumplits(void);
- void nl(void);
- void cseg(void);
- void dseg(void);
- void bssseg(void);
- void startupseg(void);
- void rundownseg(void);
- void cppseg(void);
- void gen_virtual(char *name);
- void gen_endvirtual(char *name);
- void genlongref(DATALINK *p);
- void putexterns(void);
-
- /* Peep68.c */
-
- void peepini(void);
- AMODE *copy_addr(AMODE *ap);
- void gen_code(int op,int len,AMODE *ap1,AMODE *ap2);
- void gen_line(SNODE *stmt);
- void gen_codef(int op, int len, AMODE *ap1, AMODE *ap2);
- void gen_code3(int op, int len, AMODE *ap1, AMODE *ap2, AMODE *ap3);
- void add_peep(OCODE *new);
- void gen_label(int labno);
- void flush_peep(void);
- void put_ocode(OCODE *p);
- void peep_move(OCODE *ip);
- int peep_tst(OCODE *ip);
- int equalap(AMODE *ap1, AMODE *ap2);
- int equal_address(AMODE *ap1, AMODE *ap2);
- void peep_add(OCODE *ip);
- void peep_sub(OCODE *ip);
- void peep_cmp(OCODE *ip);
- void peep_muldiv(OCODE *ip, int op);
- void peep_uctran(OCODE *ip);
- void peep_label(OCODE *ip);
- void opt3(void);
-