68 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" $Header$
 | 
						|
.TH EM_ASS VI
 | 
						|
.ad
 | 
						|
.SH NAME
 | 
						|
em_ass \- EM assembler/loader
 | 
						|
.SH SYNOPSIS
 | 
						|
/usr/em/lib/em_ass [options] argument ...
 | 
						|
.SH DESCRIPTION
 | 
						|
Em_ass assembles and links EM modules.
 | 
						|
Arguments may be flags, EM modules or libraries.
 | 
						|
Flags recognized are:
 | 
						|
.IP "-ss, -sm, -sl"
 | 
						|
Indicate that your program is small, medium or large.
 | 
						|
Medium is the default.
 | 
						|
.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.
 | 
						|
.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 -"
 | 
						|
UNIX archives, as maintained by arch(I). These archives must contain
 | 
						|
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.
 | 
						|
When \fIack\fP(I) is provided with the -LIB flag it tells the
 | 
						|
EM-optimizer \fIem_opt\fP(VI) to insert a library messages
 | 
						|
when optimizing modules.
 | 
						|
The EM-archiver \fIarch\fP(I) can be used to create libraries
 | 
						|
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"
 | 
						|
ack(I), arch(I)
 | 
						|
.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
 | 
						|
a -sl flag,
 | 
						|
the former means your program is too big, dimishing
 | 
						|
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
 |