## ALP Programming Guide and Reference

[prev][next][parent][TOC]

### The MASM2ALP Utility

MASM2ALP is a utility that accepts a MASM 5.10-compatible command line, transforms the command line parameters to the appropriate ALP syntax, and invokes alp.exe to perform the assembly. This allows the use of ALP instead of MASM in existing build environments without requiring major changes to makefiles or build scripts. You simply replace your existing MASM executable with MASM2ALP and resume operations.

MASM2ALP accepts the following MASM 5.10-style command line syntax:

    masm2alp   [ Options ]   SourceFile   [ , [ ObjectFile ]   [ , [ ListingFile ]   [ , [ CrossRefFile ] ] ] ]   [ ; ]

Notes:

Options are normally specified first on the command line, but may appear anywhere before the optional semicolon (;) terminator. Options may begin with either a slash (/) or a dash (-), but once the first option is encountered, no further mixing of introductory characters is allowed. Options are not case sensitive. Individual command line options are discussed below.

Filename arguments are position-dependent. Commas (,) must be used to separate each argument and to maintain argument position, both when arguments are explicitly specified or when they are skipped (left unspecified). The filename argument descriptions are as follows:

SourceFile This argument is mandatory, and specifies the name of the assembly language source file to be processed. If no filename suffix is supplied, a default value of ".asm" is assumed.

ObjectFile The optional name of the object-code output file to be produced. If no filename suffix is supplied, a default value of ".obj" is assumed. If no ObjectFile argument is given, the root portion of the SourceFile argument is used as the name of the object file.

ListingFile The optional name of the listing output file to be produced. If no filename suffix is supplied, a default value of ".lst" is assumed. If no ListingFile argument or -L option is given, then no listing file is produced; otherwise the root portion of the SourceFile argument is used as the name of the listing file.

CrossRefFile The optional name of the cross-reference output file. Since ALP does not support the creation of a cross-reference file, MASM2ALP ignores this argument.

The trailing semicolon (;) operator may be used when no more filename arguments are to be specified and the default values are to be utilized for the remaining arguments. Any arguments or command line options that follow the semicolon will be ignored.

MASM2ALP does not support the "prompting" behavior of Microsoft MASM when insufficient command line arguments are supplied. A syntax error is issued in this event.

Options:

MASM2ALP accepts the following command line options:

-A Forces MASM to write segments to the object file in alphabetical order. MASM normally writes segments in source code order. MASM2ALP ignores this option.

-B number Sets the size of the source file read buffer in 1K increments. MASM2ALP ignores this option.

-C Tells MASM to create a cross-reference file. MASM2ALP ignores this option.

-d Causes the assembler to generate listing file information during both pass 1 and 2. By default, the assembler only generates listing file information during pass 2.

-D symbol[=value] Defines a symbol visible during assembly. An optional text value may also be specified for the symbol.

-E Tells MASM to generate code compatible with floating-point emulation libraries. MASM2ALP ignores this option.

-H Prints the help information panel for the command line syntax.

-I path Specifies an INCLUDE file search path.

-L[A] Forces the creation of a listing output file. The -LA option is an abbreviation for "list all", which forces macro expansions and false conditionals to also be included in the listing output.

- ML Directs the assembler to perform a case-sensitive assembly, and to preserve the case of external identifiers when writing them to the object file.

-MU Directs the assembler to perform a case-insensitive assembly, and to convert the names of external identifiers to uppercase when writing them to the object file. This is the default mode of operation for Microsoft MASM.

-MX Directs the assembler to perform a case-insensitive assembly, yet preserve the case of external identifiers when writing them to the object file.

-N Prevents the symbol table summary from being printed in the listing file .

-P Causes MASM to check for inpure code operations when assembling for a privileged mode processor. This feature is not supported by ALP, thus MASM2ALP ignores this option.

-S Forces MASM to write segments to the object file in source code order, nullifying the effects of any previously encountered -A option. MASM2ALP ignores this option.

-X Forces false conditionals to be included in the listing file output.

-Z Causes MASM to print the source line of any statement causing an assembly error to the standard output device. MASM2ALP ignores this option .

-ZD Causes line number debugging information to be included in the object file output.

-ZI Causes both line number and symbolic debugging information to be included in the object file output.