ic_aux.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. * See the copyright notice in the ACK home directory, in the file "Copyright".
  5. */
  6. /* I N T E R M E D I A T E C O D E
  7. *
  8. * A U X I L I A R Y R O U T I N E S
  9. */
  10. offset opr_size(short instr);
  11. /* size of operand of given instruction.
  12. * The operand is an object , so the
  13. * instruction can be loe, zre etc..
  14. */
  15. void dblockdef(dblock_p db, int n, line_p lnp);
  16. /* Fill in d_pseudo, d_size and
  17. * d_values fields of db.
  18. */
  19. void combine(dblock_p db, line_p l1, line_p l2, byte pseu);
  20. /* Combine two successive ROMs or CONs
  21. * (with no data label in between)
  22. * into one ROM or CON.
  23. */
  24. line_p arglist(int n);
  25. /* Read a list of m arguments. If m
  26. * is 0, then the list is of
  27. * undetermined length; it is
  28. * then terminated by a cend symbol.
  29. */
  30. bool is_datalabel(line_p l);
  31. /* TRUE if l is a data label defining
  32. * occurrence (i.e. its l_instr
  33. * field is ps_sym).
  34. */
  35. dblock_p block_of_lab(char *ident);
  36. /* Find the datablock with
  37. * the given name.
  38. */
  39. obj_p object(char *ident, offset off, offset size);
  40. /* Create an object struct.
  41. */