em_ass.6 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. .\" $Id$
  2. .TH EM_ASS 6 "$Revision$"
  3. .ad
  4. .SH NAME
  5. em_ass \- EM assembler/loader
  6. .SH SYNOPSIS
  7. .B ~em/lib.bin/em_ass
  8. [options] argument ...
  9. .SH DESCRIPTION
  10. Em_ass assembles and links EM modules.
  11. Arguments may be flags, EM modules or libraries.
  12. Flags recognized are:
  13. .IP "-ss, -sm, -sl, -sx"
  14. Indicate that the program is small, medium, large, or extra large.
  15. Large is the default.
  16. .IP -p
  17. List all procedure names together with base-address (decimal and octal),
  18. procedure number and module of definition.
  19. .IP -d
  20. Used for debugging em_ass itself.
  21. .IP -U
  22. With this flag, em_ass has exit status 0 even when there are unresolved
  23. references.
  24. .PD
  25. .PP
  26. em_ass assembles and links together compact EM assembly language modules
  27. from files and libraries,
  28. producing an e.out file as described in [1].
  29. .PP
  30. Two different types of arguments are allowed:
  31. .IP "1 -"
  32. Compact EM assembly language modules (optimized or not), recognized by a
  33. magic number in the first word.
  34. .PD 0
  35. .IP "2 -"
  36. UNIX archives, as maintained by arch(1). These archives must contain
  37. EM modules only.
  38. .PD
  39. .PP
  40. EM modules may contain a library message specifying the names
  41. of procedures and external data defined inside the module.
  42. These will only be loaded
  43. if they contain definitions of procedures or data imported by
  44. previously assembled modules.
  45. When \fIack\fP(1) is provided with the -LIB flag it tells the
  46. EM-optimizer \fIem_opt\fP(6) to insert a library messages
  47. when optimizing modules.
  48. The EM-archiver \fIarch\fP(1) can be used to create libraries
  49. from EM modules.
  50. .PP
  51. Note that it is not possible to do a partial load;
  52. loading starts from compact EM code and produces binary
  53. EM code. No symbol table and no relocation bits are produced.
  54. .SH "SEE ALSO"
  55. ack(1), arch(1)
  56. .PD 0
  57. .IP [1]
  58. A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
  59. Stevenson "Description of a machine architecture for use with
  60. block structured languages" Informatica report IR-81.
  61. .SH DIAGNOSTICS
  62. Various diagnostics may be produced. In the case of compiler
  63. produced code the only messages to expect are "Out of memory"
  64. or of the
  65. form: Overflow in XXXX. The latter can usually be cured by giving
  66. a -sx flag,
  67. the former means the program is too big, dimishing
  68. the size of very large procedures can sometimes help.
  69. The most likely errors, however, are unresolved references,
  70. probably caused by the omission of a library argument.
  71. .SH AUTHOR
  72. Ed Keizer, Vrije Universiteit