Name
masm - invokes the assembler
Syntax
masm [ options ] sourcefile
Description
masm is the 8086/286/386 assembler. It reads and assembles
8086/80286/80386 assembly language instructions from the
source file named sourcefile. It then creates a linkable
object file name sourcefile.o, or an executable program
named a.out.
The extension .s is recommended but not required. If this
extension is not given, masm displays a warning and
continues processing.
There are the following options:
- a This options puts the assembled output segments in
alphabetic order before copying them to the object
file.
- c Outputs cross reference data for each assembled
file to filename.crf.
- C Outputs cross reference data for a set of
assembled file. The cross reference data is
written to files with the same names as the input
files, with the filename extension ``.erf.''
- d Adds a pass 1 listing to the assembly listing file
filename.lst.
- Dsym Defines the symbol appended to the -D flag as a
null TEXTMACRO.
- e Generates floating point code to emulate the 8087
or 287 coprocessor. Programs created with this
option must be linked with an appropriate math
library before being executed.
- I path Defines the path appended to the -I flag as
the search path for include files. Up to 10
include paths are allowed in one invocation of
masm.
-l [listfile] Creates an assembly listing file with
the same basename as the sourcefile or, if the
listfile parameter is given, with that name but
with a ``.lst'' extension. The file lists the
source instructions, the assembled (binary code)
for each instruction and any assembly errors. If
filename is ``-,'' the listing is written to
stdout.
- Mx This option directs masm to preserve lower case
letters in public and external names only when
copying these names to the object file. For all
other purposes, masm converts the lower case to
upper case.
- Mu Disables case sensitivity. Upper case is now
treated as identical to lower case.
- Ml Leave case of symbols alone.
- n This option generates information about the
symbols used in the assembled programs. The -l
option must also be used for this option to take
effect.
- oobjfile
Copies the assembled instructions in octal to the
file named objfile. This file is executable only
if no errors occurred during the assembly. This
option overrides the default object file name.
- Oobjfile
Copies the assembled instructions in binary to the
file named objfile.
- r Generates floating point code that can only be
executed by an 8087 or 287 coprocessor.
- v Prints verbose error statistics on console. If
not selected, only error counts are displayed.
- x displays error messages on the standard error
channel, in addition to the messages generated in
the listing file.
- X Copies to the assembly listing all statements
forming the body of an IF directive whose
expression (or condition) evaluates to false.
Files
/bin/masm
See Also
a.out(F), cc(CP), ld(CP)
Macro Assembler User's Guide
Notes
The default options are -Ml and -e which enable case
sensitivity and allow emulation of a floating point
processor. The options are flags with the following default
settings:
Flag Default Meaning of TRUE condition
a FALSE Outputs segments alphabetically
c FALSE Outputs cross reference data
C FALSE Outputs cross reference data
d FALSE Adds pass 1 listing to filename.lst
Dsym NULL No meaning if not defined
e FALSE Floating Point emulation
I path NULL No meaning if not defined
llistfile sourcefile.lst Sourcefile is the default filename
M l Leave symbol case alone
n TRUE Outputs symbols if -l selected
o TRUE Assembled output in binary
O FALSE Assembled output in octal
r TRUE Real 8087 instead of emulated format
v FALSE Prints verbose error statistics
x TRUE Displays errors on console
X FALSE Toggle setting of conditional flag
Return Value
The masm exit codes have the following meanings:
Code Meaning
0 No error
1 Argument error
2 Unable to open input file
3 Unable to open listing file
4 Unable to open object file
5 Unable to open cross reference file
6 Unable to open include file
7 Assembly errors. If fatal, the object
file is deleted.
8 Memory allocation error
9 Real number input not allowed
in this version.
Value Added
masm is an extension of AT&T System V provided by the Santa
Cruz Operation.
(printed 6/18/89)