md.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* md.h -machine dependent- */
  2. /* Copyright (C) 1987 Free Software Foundation, Inc.
  3. This file is part of Gas, the GNU Assembler.
  4. The GNU assembler is distributed in the hope that it will be
  5. useful, but WITHOUT ANY WARRANTY. No author or distributor
  6. accepts responsibility to anyone for the consequences of using it
  7. or for whether it serves any particular purpose or works at all,
  8. unless he says so in writing. Refer to the GNU Assembler General
  9. Public License for full details.
  10. Everyone is granted permission to copy, modify and redistribute
  11. the GNU Assembler, but only under the conditions described in the
  12. GNU Assembler General Public License. A copy of this license is
  13. supposed to have been given to you along with the GNU Assembler
  14. so you can know your rights and responsibilities. It should be
  15. in a file named COPYING. Among other things, the copyright
  16. notice and this notice must be preserved on all copies. */
  17. /* In theory (mine, at least!) the machine dependent part of the assembler
  18. should only have to include one file. This one. -- JF */
  19. /* JF added this here */
  20. typedef struct {
  21. char * poc_name; /* assembler mnemonic, lower case, no '.' */
  22. void (*poc_handler)(); /* Do the work */
  23. int poc_val; /* Value to pass to handler */
  24. }
  25. pseudo_typeS;
  26. extern pseudo_typeS md_pseudo_table[];
  27. /* JF moved this here from as.h under the theory that nobody except MACHINE.c
  28. and write.c care about it anyway. */
  29. typedef struct
  30. {
  31. long rlx_forward; /* Forward reach. Signed number. > 0. */
  32. long rlx_backward; /* Backward reach. Signed number. < 0. */
  33. unsigned char rlx_length; /* Bytes length of this address. */
  34. relax_substateT rlx_more; /* Next longer relax-state. */
  35. /* 0 means there is no 'next' relax-state. */
  36. }
  37. relax_typeS;
  38. extern relax_typeS md_relax_table[]; /* Define it in MACHINE.c */
  39. char * md_atof();
  40. void md_assemble();
  41. void md_begin();
  42. void md_convert_frag();
  43. void md_end();
  44. int md_estimate_size_before_relax();
  45. void md_number_to_chars();
  46. /* end: md.h */