Especially for Btech JNTU Students! I want to install MASM in my 64-bit machine on Windows 7. I searched over Google and found videos in which all are suggesting to install Dosbox at first. And I also found the link on msdn for MASM but there written (what I understood) that Visual Studio must be installed before installing MASM. I guess, Microsoft make it harder to use MASM now.
-->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 .MODELTINY directive. Not available in ml64.exe. |
| /Blfilename | Selects an alternate linker. |
| /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. |
| /Dsymbol⟦=value⟧ | Defines a text macro with the given name. 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. |
| /Fhexnum | 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. |
| /Fefilename | Names the executable file. |
| /Fl⟦filename⟧ | Generates an assembled code listing. See /Sf. |
| /Fm⟦filename⟧ | Creates a linker map file. |
| /Fofilename | 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 function calling and naming conventions. Same as OPTION LANGUAGE:PASCAL. Not available in ml64.exe. |
| /Gd | Specifies use of C-style function calling and naming conventions. Same as OPTION LANGUAGE:C. Not available in ml64.exe. |
| /GZ | Specifies use of __stdcall function calling and naming conventions. Same as OPTION LANGUAGE:STCALL. Not available in ml64.exe. |
| /Hnumber | Restricts external names to number significant characters. The default is 31 characters. Not available in ml64.exe. |
| /help | Calls QuickHelp for help on ML. |
| /Ipathname | 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. |
| /Sa | Turns on listing of all available information. |
| /safeseh | Marks the object as either containing no exception handlers or containing exception handlers that are all declared with .SAFESEH. Not available in ml64.exe. |
| /Sf | Adds first-pass listing to listing file. |
| /Slwidth | 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. |
| /Splength | 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. |
| /Sstext | Specifies text for source listing. Same as SUBTITLE text. |
| /Sttext | Specifies title for source listing. Same as TITLE text. |
| /Sx | Turns on false conditionals in listing. |
| /Tafilename | Assembles source file whose name doesn't end with the .asm extension. |
| /w | Same as /W0/WX. |
| /Wlevel | Sets the warning level, where level = 0, 1, 2, or 3. |
| /WX | Returns an error code if warnings are generated. |
| /X | Ignore INCLUDE environment path. |
| /Zd | Generates line-number information in object file. |
| /Zf | Makes all symbols public. |
| /Zi | Generates CodeView information in object file. |
| /Zm | EnablesM510 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, or 4. |
| /Zs | Performs a syntax check only. |
| /? | Displays a summary of ML command-line syntax. |
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:

| Variable | Description |
|---|---|
| INCLUDE | Specifies search path for include files. |
| ML | Specifies default command-line options. |
| TMP | Specifies path for temporary files. |
ML Error Messages
Microsoft Macro Assembler Reference
