home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / DOS / Programa / CCDL122.ZIP / INCLUDE / CC68.P < prev    next >
Encoding:
Text File  |  1996-08-06  |  5.1 KB  |  141 lines

  1.  
  2. /* Protogen Version 1.00 Tuesday August 06, 1996  10:01:03 */
  3.  
  4.                               /* Gcode68.c */
  5.  
  6. int chksize(int lsize, int rsize);
  7. AMODE    *make_label(int lab);
  8. AMODE    *makebf(ENODE *node, AMODE *ap1, int size);
  9. AMODE    *make_immed(long i);
  10. AMODE    *make_offset(ENODE *node);
  11. void tofloat(AMODE *ap,int size);
  12. void make_legal(AMODE *ap,int flags,int size);
  13. void doshift(int op, AMODE *ap2, AMODE *ap1, int size);
  14. void bit_legal(AMODE *ap,ENODE *node, int size);
  15. AMODE *get_bitval(AMODE *ap,ENODE *node, int size);
  16. void bit_move(AMODE *ap1, AMODE *ap2, ENODE *node, int flags, int sizein, int sizeout);
  17. void do_extend(AMODE *ap,int isize,int osize,int flags);
  18. int     isshort(ENODE *node);
  19. int     isbyte(ENODE *node);
  20. AMODE    *gen_index(ENODE *node);
  21. AMODE    *gen_deref(ENODE *node, int flags,int size);
  22. AMODE    *gen_unary(ENODE *node,int flags,int size,int op, int fop);
  23. AMODE    *gen_binary(ENODE *node,int flags,int size,int op, int fop);
  24. AMODE    *gen_xbin(ENODE *node,int flags,int size,int op, int fop);
  25. AMODE    *gen_shift(ENODE *node, int flags, int size, int op);
  26. AMODE    *gen_modiv(ENODE *node, int flags, int size, int op, int modflag);
  27. void swap_nodes(ENODE *node);
  28. AMODE * gen_pdiv(ENODE *node, int flags, int size);
  29. AMODE * gen_pmul(ENODE *node, int flags, int size);
  30. AMODE    *gen_mul(ENODE *node, int flags, int size, int op);
  31. AMODE    *gen_hook(ENODE *node, int flags, int size);
  32. AMODE    *gen_asadd(ENODE *node, int flags, int size, int op, int fop);
  33. AMODE    *gen_aslogic(ENODE *node, int flags, int size, int op);
  34. AMODE *gen_asshift(ENODE *node, int flags, int size, int op);
  35. AMODE    *gen_asmul(ENODE *node, int flags, int size,int op);
  36. AMODE    *gen_asmodiv(ENODE *node, int flags, int size, int op, int modflag);
  37. AMODE *gen_moveblock(ENODE *node, int flags, int size);
  38. AMODE    *gen_assign(ENODE *node, int flags, int size);
  39. AMODE    *gen_refassign(ENODE *node, int flags, int size);
  40. AMODE    *gen_aincdec(ENODE *node, int flags, int size, int op);
  41. int push_param(ENODE *ep,int size);
  42. int push_stackblock(ENODE *ep);
  43. int     gen_parms(ENODE *plist,int size);
  44. AMODE    *gen_fcall(ENODE *node,int flags, int size);
  45. AMODE    *gen_expr(ENODE *node, int flags, int size);
  46. int     natural_size(ENODE *node);
  47. void gen_compare(ENODE *node, int btype1, int btype2, int btype3, int btype4, int label);
  48. void truejp(ENODE *node, int label);
  49. void falsejp(ENODE *node, int label);
  50.  
  51.                               /* Gstmt68.c */
  52.  
  53. void genstmtini(void);
  54. AMODE    *makedreg(int r);
  55. AMODE    *makeareg(int r);
  56. AMODE    *makefreg(int r);
  57. AMODE    *make_mask(int mask, int reverse, int floatflag);
  58. AMODE    *make_direct(int i);
  59. AMODE    *make_strlab(char *s);
  60. void genwhile(SNODE *stmt);
  61. void gen_for(SNODE *stmt);
  62. void genif(SNODE *stmt);
  63. void gendo(SNODE *stmt);
  64. void gen_genword(SNODE *stmt);
  65. AMODE *set_symbol(char *name, int isproc);
  66. AMODE *call_library(char *lib_name,int size);
  67. int analyzeswitch(SNODE *stmt);
  68. void genbasicswitch(SNODE *stmt);
  69. void bingen(int lower, int avg, int higher,AMODE *ap1, int deflab, int size);
  70. void genbinaryswitch(SNODE *stmt);
  71. void gencompactswitch(SNODE *stmt);
  72. void gencase(SNODE *stmt);
  73. void genxswitch(SNODE *stmt);
  74. void genreturn(SNODE *stmt,int flag);
  75. void genstmt(SNODE *stmt);
  76. void scppinit(void);
  77. void genfunc(SNODE *stmt);
  78.  
  79.                               /* Outco68.c */
  80.  
  81. void outcodeini(void);
  82. void datalink(int flag);
  83. void putop(int op);
  84. void putconst(ENODE *offset);
  85. void putlen(int l);
  86. void putamode(AMODE *ap);
  87. void put_code(int op,int len,AMODE *aps,AMODE *apd,AMODE *ape);
  88. void put_fmask(int mask, int reverse);
  89. void put_mask(int mask, int reverse);
  90. void putreg(int r);
  91. void gen_strlab(char *s);
  92. void put_label(int lab);
  93. void genfloat(float val);
  94. void gendouble(double val);
  95. void genlongdouble(long double val);
  96. void genbyte(long val);
  97. void genword(long val);
  98. void genlong(long val);
  99. void gensrref(char *name,int val);
  100. void genref(SYM *sp,int offset);
  101. void genpcref(SYM *sp,int offset);
  102. void genstorage(int nbytes);
  103. void gen_labref(int n);
  104. int     stringlit(char *s);
  105. void dumplits(void);
  106. void nl(void);
  107. void cseg(void);
  108. void dseg(void);
  109. void bssseg(void);
  110. void startupseg(void);
  111. void rundownseg(void);
  112. void cppseg(void);
  113. void gen_virtual(char *name);
  114. void gen_endvirtual(char *name);
  115. void genlongref(DATALINK *p);
  116. void putexterns(void);
  117.  
  118.                               /* Peep68.c */
  119.  
  120. void peepini(void);
  121. AMODE    *copy_addr(AMODE *ap);
  122. void gen_code(int op,int len,AMODE *ap1,AMODE *ap2);
  123. void gen_line(SNODE *stmt);
  124. void gen_codef(int op, int len, AMODE *ap1, AMODE *ap2);
  125. void gen_code3(int op, int len, AMODE *ap1, AMODE *ap2, AMODE *ap3);
  126. void add_peep(OCODE *new);
  127. void gen_label(int labno);
  128. void flush_peep(void);
  129. void put_ocode(OCODE *p);
  130. void peep_move(OCODE *ip);
  131. int peep_tst(OCODE *ip);
  132. int equalap(AMODE *ap1, AMODE *ap2);
  133. int     equal_address(AMODE *ap1, AMODE *ap2);
  134. void peep_add(OCODE *ip);
  135. void peep_sub(OCODE *ip);
  136. void     peep_cmp(OCODE *ip);
  137. void peep_muldiv(OCODE *ip, int op);
  138. void peep_uctran(OCODE *ip);
  139. void peep_label(OCODE *ip);
  140. void opt3(void);
  141.