2.11BSD/new/man/cat1/m11.0
M11(1) UNIX Programmer's Manual M11(1)
NAME
m11 - Macro-11 assembler for UNIX
SYNOPSIS
m11 [ option1 option2 ... ] file1 file2 ... filen
DESCRIPTION
_M_1_1 assembles the concatenation of the specified files
(_f_i_l_e_1, etc.) and terminates when an ``.end'' statement is
encountered. The resulting object file is usually named
_f_i_l_e_n._o_b_j (see below). If a file argument, _f_i_l_e_i does not
contain a ``.'' in its name, the file _f_i_l_e_i._m_1_1 will be
sought before _f_i_l_e_i itself.
Options, if desired, may appear anywhere in the command, and
are chosen from the following list. All options are inter-
preted before any files are read.
-ls Produce an assembly listing and place in _f_i_l_e_n.lst
-lt Produce an assembly listing on the standard output.
-fl If coupled with the -_l_s or -_l_t directives, makes the
listing have a shortened format. It is shorthand for
-_n_l:_s_e_q:_l_o_c:_b_i_n:_b_e_x:_m_e:_m_e_b:_t_t_m:_t_o_c:_s_y_m.
-uc Simulate an initial ._d_s_a_b_l _l_c directive. Force all
characters in macro definitions to be upper case. This
flag makes lower-case handling in _m_1_1 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 _m_1_1 compatable with previous versions of
_m_1_1.
-de Make all option choices needed to make assembly mimic
DEC Macro-11. Implies (_i_n_t_e_r _a_l_i_a) the -_u_c flag. This
includes the Johns Hopkins _a_s_m assembler.
-ha Make all option choices needed to make assembly mimic
earlier (Harvard) releases of m11. This implies the
-_u_m 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
_a_f_t_e_r macro expansion. Macro calls, conditional direc-
tives 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
Printed 11/24/99 1
M11(1) UNIX Programmer's Manual M11(1)
correspond to the -E or -P options of the C compiler
_c_c(_1).
-my Like -_m_x, except that macro calls and conditional
directives do not show up in the listing.
-10 Generate an error whenever op codes not in the PDP-11
``standard instruction set'' are encountered. Program-
mers writing for a PDP 11/10 can catch instructions
illegal for that machine by using this argument.
-dp:args
The default attributes for a ._p_s_e_c_t or unnamed ._c_s_e_c_t
are redefined, using the colon-separated list _a_r_g_s of
valid .psect attributes.
-da:args
The default attributes for an ._a_s_e_c_t are redefined.
-dp:c
The default attributes for a named ._c_s_e_c_t are rede-
fined.
-li:arglist
Simulate an initial ._l_i_s_t _a_r_g_l_i_s_t directive. All ._l_i_s_t
and ._n_l_i_s_t directives in the program text which attempt
to change the settings established with the -_l_i flag
will be ignored.
-nl:arglist
Like -_l_i:_a_r_g_l_i_s_t, but for the ._n_l_i_s_t directive.
-en:arglist
Similarly, for the ._e_n_a_b_l directive.
-ds:arglist
Similarly, but for the ._d_s_a_b_l directive.
-cr:arglist
Produces a cross-reference listing. If the -_l_s option
is also included, the cross-reference listing will fol-
low the assembly listing in _f_i_l_e_n.lst. References
which are tagged with the symbol # are definitions.
References tagged with * are destuctive references: the
value of the symbol or variable in question is changed.
_A_r_g_l_i_s_t 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.
Printed 11/24/99 2
M11(1) UNIX Programmer's Manual M11(1)
per All uses of permanent symbols - op codes, direc-
tives, etc - are indexed.
pse All psect names are indexed. For compatability
with the RT-11 _C_R_E_F program, the argument _c_s_e is
synonymous with _p_s_e.
err All errors are indexed.
reg All register uses are indexed.
If no _a_r_g_l_i_s_t is specified the default _s_y_m:_m_a_c:_e_r_r 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 _f_i_l_e_n.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 inopera-
tive: _m_1_1 automatically allots core for its tables as
needed.
-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 this assembly).
-sx Make the symbol table contain ``local symbols'' as well
as ordinary symbols.
-u Treat form feed characters as spaces. This will make
_m_1_1'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.
-na:file
Override the convention of using last name as file
name. Instead, use names _f_i_l_e._o_b_j and _f_i_l_e._l_s_t for
object and listing files.
NOTES
This implementation of Macro-11 is a distant hand-me down
from an old DEC Macro-11 modified 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
Printed 11/24/99 3
M11(1) UNIX Programmer's Manual M11(1)
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 ear-
lier 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 _N_e_w _U_C_B _M_1_1 _M_a_n_u_a_l.
The default attributes for ._p_s_e_c_t_s are different from those
described in the DEC manual, but may be changed by the -_d_p
flag. The ._e_n_a_b_l _g_l_b feature is implemented: undefined sym-
bols are taken as undefined global externals.
FILES
/usr/share/misc/sysmac.smlsystem macro library (for .mcall
directive)
filen.xrf intermediate cross-reference temporary
file
lpr(1) spooler
/usr/ucb/macxrf cross-reference post-processor
SEE ALSO
_P_D_P-_1_1 _M_A_C_R_O-_1_1 _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l , Digital Equip-
ment Corp. Order No. AA-5075A-TC, August 1977.
_N_e_w _U_C_B _M_1_1 _M_a_n_u_a_l , notional document by Jim Reeds.
Printed 11/24/99 4