Pristine Ack-5.5
[Ack-5.5.git] / util / ass / em_ass.6
1 .\" $Id: em_ass.6,v 2.11 1994/06/24 10:15:42 ceriel Exp $
2 .TH EM_ASS 6 "$Revision: 2.11 $"
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