1994-06-24 11:31:16 +00:00
|
|
|
.\" $Id$
|
1991-10-01 12:18:39 +00:00
|
|
|
.TH EM_ASS 6 "$Revision$"
|
1984-07-12 14:14:54 +00:00
|
|
|
.ad
|
|
|
|
.SH NAME
|
|
|
|
em_ass \- EM assembler/loader
|
|
|
|
.SH SYNOPSIS
|
2018-06-09 05:10:45 +00:00
|
|
|
.B ~em/lib/ack/em_ass
|
1991-10-01 12:18:39 +00:00
|
|
|
[options] argument ...
|
1984-07-12 14:14:54 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
Em_ass assembles and links EM modules.
|
|
|
|
Arguments may be flags, EM modules or libraries.
|
|
|
|
Flags recognized are:
|
1989-11-17 16:53:53 +00:00
|
|
|
.IP "-ss, -sm, -sl, -sx"
|
1991-11-22 13:18:57 +00:00
|
|
|
Indicate that the program is small, medium, large, or extra large.
|
1989-11-17 16:53:53 +00:00
|
|
|
Large is the default.
|
1984-07-12 14:14:54 +00:00
|
|
|
.IP -p
|
|
|
|
List all procedure names together with base-address (decimal and octal),
|
|
|
|
procedure number and module of definition.
|
|
|
|
.IP -d
|
|
|
|
Used for debugging em_ass itself.
|
1990-02-09 12:44:37 +00:00
|
|
|
.IP -U
|
|
|
|
With this flag, em_ass has exit status 0 even when there are unresolved
|
|
|
|
references.
|
1984-07-12 14:14:54 +00:00
|
|
|
.PD
|
|
|
|
.PP
|
|
|
|
em_ass assembles and links together compact EM assembly language modules
|
|
|
|
from files and libraries,
|
|
|
|
producing an e.out file as described in [1].
|
|
|
|
.PP
|
|
|
|
Two different types of arguments are allowed:
|
|
|
|
.IP "1 -"
|
|
|
|
Compact EM assembly language modules (optimized or not), recognized by a
|
|
|
|
magic number in the first word.
|
|
|
|
.PD 0
|
|
|
|
.IP "2 -"
|
1987-03-11 16:15:16 +00:00
|
|
|
UNIX archives, as maintained by arch(1). These archives must contain
|
1984-07-12 14:14:54 +00:00
|
|
|
EM modules only.
|
|
|
|
.PD
|
|
|
|
.PP
|
|
|
|
EM modules may contain a library message specifying the names
|
|
|
|
of procedures and external data defined inside the module.
|
|
|
|
These will only be loaded
|
|
|
|
if they contain definitions of procedures or data imported by
|
|
|
|
previously assembled modules.
|
1991-11-25 09:39:31 +00:00
|
|
|
When \fIack\fP(1) is provided with the -LIB flag it tells the
|
1991-11-25 09:41:30 +00:00
|
|
|
EM-optimizer \fIem_opt\fP(6) to insert a library messages
|
1984-07-12 14:14:54 +00:00
|
|
|
when optimizing modules.
|
1991-11-25 09:39:31 +00:00
|
|
|
The EM-archiver \fIarch\fP(1) can be used to create libraries
|
1984-07-12 14:14:54 +00:00
|
|
|
from EM modules.
|
|
|
|
.PP
|
|
|
|
Note that it is not possible to do a partial load;
|
|
|
|
loading starts from compact EM code and produces binary
|
|
|
|
EM code. No symbol table and no relocation bits are produced.
|
|
|
|
.SH "SEE ALSO"
|
1987-02-24 16:07:04 +00:00
|
|
|
ack(1), arch(1)
|
1984-07-12 14:14:54 +00:00
|
|
|
.PD 0
|
|
|
|
.IP [1]
|
|
|
|
A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
|
|
|
|
Stevenson "Description of a machine architecture for use with
|
|
|
|
block structured languages" Informatica report IR-81.
|
|
|
|
.SH DIAGNOSTICS
|
|
|
|
Various diagnostics may be produced. In the case of compiler
|
|
|
|
produced code the only messages to expect are "Out of memory"
|
|
|
|
or of the
|
|
|
|
form: Overflow in XXXX. The latter can usually be cured by giving
|
1989-11-17 16:53:53 +00:00
|
|
|
a -sx flag,
|
2019-03-17 14:41:25 +00:00
|
|
|
the former means the program is too big, diminishing
|
1984-07-12 14:14:54 +00:00
|
|
|
the size of very large procedures can sometimes help.
|
|
|
|
The most likely errors, however, are unresolved references,
|
|
|
|
probably caused by the omission of a library argument.
|
|
|
|
.SH AUTHOR
|
|
|
|
Ed Keizer, Vrije Universiteit
|