m11 - Macro-11 assembler for UNIX
m11 [ option1 option2 ... ] file1 file2 ... filen
M11 assembles the concatenation of the specified files (file1, etc.) and terminates when
an ``.end'' statement is encountered. The resulting object file is usually named
filen.obj (see below). If a file argument, filei does not contain a ``.'' in its name,
the file filei.m11 will be sought before filei itself.
Options, if desired, may appear anywhere in the command, and are chosen from the following
list. All options are interpreted before any files are read.
-ls Produce an assembly listing and place in filen.lst
-lt Produce an assembly listing on the standard output.
-fl If coupled with the -ls or -lt directives, makes the listing have a shortened for-
mat. It is shorthand for -nl:seq:loc:bin:bex:me:meb:ttm:toc:sym.
-uc Simulate an initial .dsabl lc directive. Force all characters in macro definitions
to be upper case. This flag makes lower-case handling in m11 compatable with the
DEC Macro-11 assemblers.
-um Force all characters in macro definitions to be upper case. This flag makes lower-
case handling in this release of m11 compatable with previous versions of m11.
-de Make all option choices needed to make assembly mimic DEC Macro-11. Implies (inter
alia) the -uc flag. This includes the Johns Hopkins asm assembler.
-ha Make all option choices needed to make assembly mimic earlier (Harvard) releases of
m11. This implies the -um flag. Default .psect and .csect attributes are set up
in the funny Harvard way.
-mx Produce a listing of the source program as it appears after macro expansion. Macro
calls, conditional directives and so on appear in the listing as comments. Listing
appears on standard output. No machine code is generated or listed. This option
is meant to correspond to the -E or -P options of the C compiler cc(1).
-my Like -mx, except that macro calls and conditional directives do not show up in the
-10 Generate an error whenever op codes not in the PDP-11 ``standard instruction set''
are encountered. Programmers writing for a PDP 11/10 can catch instructions ille-
gal for that machine by using this argument.
The default attributes for a .psect or unnamed .csect are redefined, using the
colon-separated list args of valid .psect attributes.
The default attributes for an .asect are redefined.
-dp:c The default attributes for a named .csect are redefined.
Simulate an initial .list arglist directive. All .list and .nlist directives in
the program text which attempt to change the settings established with the -li flag
will be ignored.
Like -li:arglist, but for the .nlist directive.
Similarly, for the .enabl directive.
Similarly, but for the .dsabl directive.
Produces a cross-reference listing. If the -ls option is also included, the cross-
reference listing will follow the assembly listing in filen.lst. References which
are tagged with the symbol # are definitions. References tagged with * are destuc-
tive references: the value of the symbol or variable in question is changed.
Arglist consists of colon-separated keywords from the following set. The keywords
may be prefix abbreviated:
sym All user-defined symbols are indexed.
mac All macro names are indexed.
per All uses of permanent symbols - op codes, directives, etc - are indexed.
pse All psect names are indexed. For compatability with the RT-11 CREF program,
the argument cse is synonymous with pse.
err All errors are indexed.
reg All register uses are indexed.
If no arglist is specified the default sym:mac:err is used. In the listing page
and line numbers for uses of symbols are followed by a # sign if the symbol is
defined and by a * sign if the symbol is modified.
-lp Same as -ls, but also spools filen.lst for printing upon completion.
-no No object file is produced. This is useful for syntax checking or list producing.
-xs:n Allots nK words of extra space for symbol table and macro storage. NOTE: This
option is currently inoperative: m11 automatically allots core for its tables as
-xx Debug flag: generate all kinds of wierd hack flack.
-ns No symbol table is included in the object file (thus ddt knows of no symbols from
-sx Make the symbol table contain ``local symbols'' as well as ordinary symbols.
-u Treat form feed characters as spaces. This will make m11's idea of line numbers
coincide with the UNIX text editors. Macro-11 statements containing imbedded form
feed characters will be parsed differently when the -u flag is in effect.
Override the convention of using last name as file name. Instead, use names
file.obj and file.lst for object and listing files.
This implementation of Macro-11 is a distant hand-me down from an old DEC Macro-11 modi-
fied at Harvard University in the early 1970's. It is grubby with smudges by Brent Byer,
F. J. Howard, Bob Bowering, and Jim Reeds. It does not implement keyword arguments such
as are described in section 7.3.6 of the DEC manual. The .enabl abs option does not work.
Listing control is by default .list ttm. Unlike earlier editions of m11 at UCB and at
Harvard, it does treat immediate constants of floating point operations correctly: see the
last paragraph of section 6.4.2 on the middle of page 6-27 of the DEC manual. M11 has
several directives not described in the DEC manual. See the New UCB M11 Manual. The
default attributes for .psects are different from those described in the DEC manual, but
may be changed by the -dp flag. The .enabl glb feature is implemented: undefined symbols
are taken as undefined global externals.
/usr/share/misc/sysmac.smlsystem macro library (for .mcall directive)
filen.xrf intermediate cross-reference temporary file
/usr/ucb/macxrf cross-reference post-processor
PDP-11 MACRO-11 Language Reference Manual , Digital Equipment Corp. Order No. AA-5075A-TC,
New UCB M11 Manual , notional document by Jim Reeds.
3rd Berkeley Distribution M11(1)