The ML program assembles and links one or more assembly-language source files. The command-line options are case sensitive.

    ML [[options]] filename [[ [[options]]  filename]]... [[/link linkoptions]]

    /AT                 Enables tiny-memory-model support. Enables error messages for code constructs that violate the requirements for .com format files. Note that this is not equivalent to the .MODEL TINY directive.
    /Bl <filename>      Selects an alternate linker.
    /c                  Assembles only. Does not link.
    /Cp                 Preserves case of all user identifiers.
    /Cu                 Maps all identifiers to uppercase (default).
    /Cx                 Preserves case in public and extern symbols.
    /D<symbol[[=value]]>Defines a text macro with the given name. If value is missing, it is blank. Multiple tokens separated by spaces must be enclosed in quotation marks.
    /EP                 Generates a preprocessed source listing (sent to STDOUT). See /Sf.
    /F <hexnum>         Sets stack size to hexnum bytes (this is the same as /link /STACK:number). The value must be expressed in hexadecimal notation. There must be a space between /F and hexnum.
    /Fe <filename>      Names the executable file.
    /Fl[[filename]]     Generates an assembled code listing. See /Sf.
    /Fm[[filename]]     Creates a linker map file.
    /Fo <filename>      Names an object file.
    /FPi                Generates emulator fix-ups for floating-point arithmetic (mixed language only).
    /Fr[[filename]]     Generates a source browser .SBR file.
    /FR[[filename]]     Generates an extended form of a source browser .SBR file.
    /Gc                 Specifies use of FORTRAN- or Pascal-style function calling and naming conventions. Same as OPTION LANGUAGE:PASCAL.
    /Gd                 Specifies use of C-style function calling and naming conventions. Same as OPTION LANGUAGE:C.
    /H <number>         Restricts external names to number significant characters. The default is 31 characters.
    /help               Calls QuickHelp for help on ML.
    /I <pathname>       Sets path for include file. A maximum of 10 /I options is allowed.
    /nologo             Suppresses messages for successful assembly.
    /Sa                 Turns on listing of all available information.
    /Sc                 Adds instruction timings to listing file.
    /Sf                 Adds first-pass listing to listing file.
    /Sg                 Turns on listing of assembly-generated code.
    /Sl <width>         Sets the line width of source listing in characters per line. Range is 60 to 255 or 0. Default is 0. Same as PAGE width.
    /Sn                 Turns off symbol table when producing a listing.
    /Sp <length>        Sets the page length of source listing in lines per page. Range is 10 to 255 or 0. Default is 0. Same as PAGE length.
    /Ss <text>          Specifies text for source listing. Same as SUBTITLE text.
    /St <text>          Specifies title for source listing. Same as TITLE text.
    /Sx                 Turns on false conditionals in listing.
    /Ta <filename>      Assembles source file whose name does not end with the .asm extension.
    /w                  Same as /W0.
    /W<level>           Sets the warning level, where level = 0, 1, 2, or 3.
    /WX                 Returns an error code if warnings are generated.
    /Zd                 Generates line-number information in object file.
    /Zf                 Makes all symbols public.
    /Zi                 Generates CodeView information in object file.
    /Zm                 Enables M510 option for maximum compatibility with MASM 5.1.
    /Zp[[alignment]]    Packs structures on the specified byte boundary. The alignment can be 1, 2, or 4.
    /Zs                 Performs a syntax check only.
    /?                  Displays a summary of ML command-line syntax.

Environment Variables:
    INCLUDE     Specifies search path for include files.
    ML          Specifies default command-line options.
    TMP         Specifies path for temporary files.