Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article
Assembles and links one or more assembly-language source files. The command-line options are case-sensitive.
For more information on ml64.exe, see MASM for x64 (ml64.exe).
ML
[options
]filename
[ [options
]filename
]
ML64
[options
]filename
[ [options
]filename
] ... [/link
link_options
]
options
The options listed in the following table:
Option | Action |
---|---|
/AT |
Enables tiny-memory-model support. Enables error messages for code constructs that violate the requirements for .com format files. This option isn't equivalent to the .MODEL TINY directive.Not available in ml64.exe. |
/Bl filename |
Selects an alternate linker in filename . |
/c |
Assembles only. Does no linking. |
/coff |
Generates common object file format (COFF) type of object module. Required for Win32 assembly language development. Not available in ml64.exe. |
/Cp |
Preserves case of all user identifiers. |
/Cu |
Maps all identifiers to upper case (default). Not available in ml64.exe. |
/Cx |
Preserves case in public and extern symbols. |
/D symbol ⟦=value ⟧ |
Defines a text macro with the given name symbol . If value is missing, it's blank. Multiple tokens separated by spaces must be enclosed in quotation marks. |
/EP |
Generates a preprocessed source listing (sent to STDOUT ). See /Sf . |
/ERRORREPORT [ NONE | PROMPT | QUEUE | SEND ] |
Deprecated. Error reporting is controlled by Windows Error Reporting (WER) settings. |
/F hexnum |
Sets stack size to hexnum bytes (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. For more information, see Remarks. |
/FPi |
Generates emulator fix-ups for floating-point arithmetic (mixed language only). Not available in ml64.exe. |
/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 conventions for function calls and names. Same as OPTION LANGUAGE:PASCAL .Not available in ml64.exe. |
/Gd |
Specifies use of C-style conventions for function calls and names. Same as OPTION LANGUAGE:C .Not available in ml64.exe. |
/Gz |
Specifies use of __stdcall conventions for function calls and names. Same as OPTION LANGUAGE:STDCALL .Not available in ml64.exe. |
/H number |
Restricts external names to number significant characters. The default is 31 characters.Not available in ml64.exe. |
/help |
Displays a summary of ML command-line syntax and options. |
/I pathname |
Sets path for include file. A maximum of 10 /I options is allowed. |
/nologo |
Suppresses messages for successful assembly. |
/omf |
Generates object module file format (OMF) type of object module. /omf implies /c . ML.exe doesn't support linking OMF objects.Not available in ml64.exe. |
/quiet |
Suppresses 'Assembling' message. Available in Visual Studio 17.6 and later. |
/Sa |
Turns on listing of all available information. |
/safeseh |
Marks the object file: either it contains no exception handlers, or it contains exception handlers that are all declared with .SAFESEH .Not available in ml64.exe. |
/Sf |
Adds the first-pass listing to the listing file. |
/Sl width |
Sets the line width of source listing in characters per line to width . Range is 60-255 or 0. Default is 0. Same as PAGE width . |
/Sn |
Turns off symbol table when a listing is produced. |
/Sp length |
Sets the page length of source listing in lines per page to length . Range is 10-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 doesn't end with the .asm extension. |
/w |
Same as /W0 /WX . |
/W level |
Sets the warning level, where level = 0, 1, 2, or 3. |
/WX |
If warnings are generated, returns an error code. |
/X |
Ignore INCLUDE environment path. |
/Zd |
Generates line-number information in object file. |
/Zf |
Makes all symbols public. |
/ZH:MD5 |
Use MD5 for checksum in debug info. |
/ZH:SHA_256 |
Use SHA256 for checksum in debug info (default in Visual Studio 2022 version 17.0 and later). |
/Zi |
Generates CodeView information in object file. |
/Zm |
Enables M510 option for maximum compatibility with MASM 5.1.Not available in ml64.exe. |
/Zp ⟦alignment ⟧ |
Packs structures on the specified byte boundary. The alignment can be 1, 2, 4, 8, or 16. |
/Zs |
Performs a syntax check only. |
/? |
Displays a summary of ML command-line syntax and options. |
filename
The name of the file.
link_options
The link options. For more information, see Linker options.
Some command-line options to ML and ML64 are placement-sensitive. For example, because ML and ML64 can accept several /c
options, any corresponding /Fo
options must be specified before /c
. The following command-line example illustrates an object file specification for each assembly file specification:
ml.exe /Fo a1.obj /c a.asm /Fo b1.obj /c b.asm
Variable | Description |
---|---|
INCLUDE |
Specifies search path for include files. |
ML |
Specifies default command-line options. |
TMP |
Specifies path for temporary files. |