72 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" $Id$
 | |
| .TH EM_ASS 6 "$Revision$"
 | |
| .ad
 | |
| .SH NAME
 | |
| em_ass \- EM assembler/loader
 | |
| .SH SYNOPSIS
 | |
| .B ~em/lib.bin/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, -sx"
 | |
| Indicate that the program is small, medium, large, or extra large.
 | |
| Large 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.
 | |
| .IP -U
 | |
| With this flag, em_ass has exit status 0 even when there are unresolved
 | |
| references.
 | |
| .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(1). 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(1) is provided with the -LIB flag it tells the
 | |
| EM-optimizer \fIem_opt\fP(6) to insert a library messages
 | |
| when optimizing modules.
 | |
| The EM-archiver \fIarch\fP(1) 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(1), arch(1)
 | |
| .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 -sx flag,
 | |
| the former means the 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
 |