You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article provides command-line information about the Microsoft ARM assembler, *armasm*, which compiles ARMv7 Thumb assembly language into the Microsoft implementation of the Common Object File Format (COFF). The linker can link COFF code with object code that is produced by the ARM assembler or by the C compiler, together with object libraries that are created by the librarian.
9
+
This article provides command-line information about the Microsoft ARM assembler, **armasm**. **armasm** assembles ARMv7 Thumb assembly language into the Microsoft implementation of the Common Object File Format (COFF). The linker can link COFF code objects produced by both the ARM assembler and the C compiler. It can link either together with object libraries created by the librarian.
For more information, see the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html).
31
31
32
-
-**-nowarn**<br/>
32
+
-**`-nowarn`**\
33
33
Disable all warning messages.
34
34
35
-
-**-ignore***warning*<br/>
35
+
-**`-ignore`***warning*\
36
36
Disable the specified warning. For possible values, see the section about warnings.
37
37
38
-
-**-help**<br/>
38
+
-**`-help`**\
39
39
Print the command-line help message.
40
40
41
-
-**-machine***machine*<br/>
42
-
Specify the machine type to set in the PE header. Possible values for *machine* are:<br/>
43
-
**ARM**—Sets the machine type to IMAGE_FILE_MACHINE_ARMNT. This is the default.<br/>
41
+
-**`-machine`***machine*\
42
+
Specify the machine type to set in the PE header. Possible values for *machine* are:\
43
+
**ARM**—Sets the machine type to IMAGE_FILE_MACHINE_ARMNT. This option is the default.\
44
44
**THUMB**—Sets the machine type to IMAGE_FILE_MACHINE_THUMB.
45
45
46
-
-**-oldit**<br/>
46
+
-**`-oldit`**\
47
47
Generate ARMv7-style IT blocks. By default, ARMv8-compatible IT blocks are generated.
48
48
49
-
-**-via***filename*<br/>
49
+
-**`-via`***filename*\
50
50
Read additional command-line arguments from *filename*.
51
51
52
-
-**-16**<br/>
53
-
Assemble source as 16-bit Thumb instructions. This is the default.
52
+
-**`-16`**\
53
+
Assemble source as 16-bit Thumb instructions. This option is the default.
54
54
55
-
-**-32**<br/>
55
+
-**`-32`**\
56
56
Assemble source as 32-bit ARM instructions.
57
57
58
-
-**-g**<br/>
58
+
-**`-g`**\
59
59
Generate debugging information.
60
60
61
-
-**-errorReport:***option*<br/>
61
+
-**`-errorReport:`***option*\
62
62
This option is deprecated, and has no effect. Starting in Windows Vista, error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings.
@@ -25,21 +25,21 @@ The options listed in the following table.
25
25
26
26
|Option|Action|
27
27
|------------|------------|
28
-
|**/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](dot-model.md)**TINY** directive.<br /><br /> Not available in ml64.exe.|
28
+
|**/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](dot-model.md)**TINY** directive.<br /><br /> Not available in ml64.exe.|
29
29
|**/Bl***filename*|Selects an alternate linker.|
30
-
|**/c**|Assembles only. Does not link.|
31
-
|**/coff**|Generates common object file format (COFF) type of object module. Generally required for Win32 assembly language development.<br /><br /> Not available in ml64.exe.|
30
+
|**/c**|Assembles only. Does no linking.|
31
+
|**/coff**|Generates common object file format (COFF) type of object module. Required for Win32 assembly language development.<br /><br /> Not available in ml64.exe.|
32
32
|**/Cp**|Preserves case of all user identifiers.|
33
33
|**/Cu**|Maps all identifiers to upper case (default).<br /><br /> Not available in ml64.exe.|
34
34
|**/Cx**|Preserves case in public and extern symbols.|
35
-
|**/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.|
35
+
|**/D***symbol*⟦=*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.|
36
36
|**/EP**|Generates a preprocessed source listing (sent to STDOUT). See **/Sf**.|
37
37
|**/ERRORREPORT**[**NONE**|**PROMPT**|**QUEUE**|**SEND**]| Deprecated. Error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings. |
38
-
|**/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*.|
38
+
|**/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*.|
39
39
|**/Fe***filename*|Names the executable file.|
40
40
|**/Fl**⟦*filename*⟧|Generates an assembled code listing. See **/Sf**.|
41
41
|**/Fm**⟦*filename*⟧|Creates a linker map file.|
42
-
|**/Fo***filename*|Names an object file. See Remarks section for more information.|
42
+
|**/Fo***filename*|Names an object file. For more information, see [Remarks](#remarks).|
43
43
|**/FPi**|Generates emulator fix-ups for floating-point arithmetic (mixed language only).<br /><br /> Not available in ml64.exe.|
44
44
|**/Fr**⟦*filename*⟧|Generates a source browser .sbr file.|
45
45
|**/FR**⟦*filename*⟧|Generates an extended form of a source browser .sbr file.|
@@ -50,7 +50,7 @@ The options listed in the following table.
50
50
|**/help**|Calls QuickHelp for help on ML.|
51
51
|**/I***pathname*|Sets path for include file. A maximum of 10 **/I** options is allowed.|
52
52
|**/nologo**|Suppresses messages for successful assembly.|
53
-
|**/omf**|Generates object module file format (OMF) type of object module. **/omf** implies **/c**; ML.exe does not support linking OMF objects.<br /><br /> Not available in ml64.exe.|
53
+
|**/omf**|Generates object module file format (OMF) type of object module. **/omf** implies **/c**; ML.exe doesn't support linking OMF objects.<br /><br /> Not available in ml64.exe.|
54
54
|**/Sa**|Turns on listing of all available information.|
55
55
|**/safeseh**|Marks the object as either containing no exception handlers or containing exception handlers that are all declared with [.SAFESEH](dot-safeseh.md).<br /><br /> Not available in ml64.exe.|
56
56
|**/Sf**|Adds first-pass listing to listing file.|
@@ -60,7 +60,7 @@ The options listed in the following table.
60
60
|**/Ss***text*|Specifies text for source listing. Same as [SUBTITLE](subtitle.md) text.|
61
61
|**/St***text*|Specifies title for source listing. Same as [TITLE](title.md) text.|
62
62
|**/Sx**|Turns on false conditionals in listing.|
63
-
|**/Ta***filename*|Assembles source file whose name does not end with the .asm extension.|
63
+
|**/Ta***filename*|Assembles source file whose name doesn't end with the .asm extension.|
64
64
|**/w**|Same as **/W0/WX**.|
65
65
|**/W***level*|Sets the warning level, where *level* = 0, 1, 2, or 3.|
66
66
|**/WX**|Returns an error code if warnings are generated.|
@@ -76,14 +76,16 @@ The options listed in the following table.
76
76
*filename*\
77
77
The name of the file.
78
78
79
-
*linkoptions*\
80
-
The link options. See [Linker Options](../../build/reference/linker-options.md) for more information.
79
+
*link_options*\
80
+
The link options. For more information, see [Linker options](../../build/reference/linker-options.md).
81
81
82
82
## Remarks
83
83
84
84
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:
> Although BSCMAKE is still installed with Visual Studio, it is no longer used by the IDE. Since Visual Studio 2008, browse and symbol information is stored automatically in a SQL Server .sdf file in the solution folder.
12
+
> Although BSCMAKE is still installed with Visual Studio, it is no longer used by the IDE. Since Visual Studio 2008, browse and symbol information is stored automatically in a SQL Server *`.sdf`* file in the solution folder.
13
13
14
-
This section describes the options available for controlling BSCMAKE. Several options control the content of the browse information file by excluding or including certain information. The exclusion options can allow BSCMAKE to run faster and may result in a smaller .bsc file. Option names are casesensitive (except for **/HELP** and **/NOLOGO**).
14
+
This section describes the options available for controlling BSCMAKE. Several options control the content of the browse information file by excluding or including certain information. The exclusion options can allow BSCMAKE to run faster and may result in a smaller *`.bsc`* file. Option names are case-sensitive (except for **/HELP** and **/NOLOGO**).
15
15
16
16
Only **/NOLOGO** and **/o** are available from within the Visual Studio development environment. See [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md) for information on access a project's property pages.
17
17
18
-
**/Ei (***filename*...**)**\
19
-
Excludes the contents of the specified include files from the browse information file. To specify multiple files, separate the names with a space and enclose the list in parentheses. Parentheses are not necessary if you specify only one *filename*. Use **/Ei** along with the **/Es** option to exclude files not excluded by **/Es**.
18
+
**/Ei (**_filename_...**)**\
19
+
Excludes the contents of the specified include files from the browse information file. To specify multiple files, separate the names with a space and enclose the list in parentheses. Parentheses aren't necessary if you specify only one *filename*. Use **/Ei** along with the **/Es** option to exclude files not excluded by **/Es**.
20
20
21
21
**/El**\
22
22
Excludes local symbols. The default is to include local symbols. For more information about local symbols, see [Creating an .sbr File](creating-an-dot-sbr-file.md).
23
23
24
24
**/Em**\
25
25
Excludes symbols in the body of macros. Use **/Em** to include only the names of macros in the browse information file. The default is to include both the macro names and the result of the macro expansions.
26
26
27
-
**/Er (***symbol*...**)**\
28
-
Excludes the specified symbols from the browse information file. To specify multiple symbol names, separate the names with a space and enclose the list in parentheses. Parentheses are not necessary if you specify only one *symbol*.
27
+
**/Er (**_symbol_...**)**\
28
+
Excludes the specified symbols from the browse information file. To specify multiple symbol names, separate the names with a space and enclose the list in parentheses. Parentheses are unnecessary if you specify only one *symbol*.
29
29
30
30
**/Es**\
31
-
Excludes from the browse information file every include file specified with an absolute path or found in an absolute path specified in the INCLUDE environment variable. (Usually, these are the system include files, which contain a lot of information that you may not need in your browse information file.) This option does not exclude files specified without a path or with relative paths or files found in a relative path in INCLUDE. You can use the **/Ei** option along with **/Es** to exclude files that **/Es**does not exclude. If you want to exclude only some of the files that **/Es** excludes, use **/Ei** instead of **/Es** and list the files you want to exclude.
31
+
Excludes every include file specified with an absolute path, or found in an absolute path specified in the INCLUDE environment variable. (Usually, these files are the system include files, which contain much information you may not need in your browse information file.) This option doesn't exclude files specified without a path, or with relative paths, or files found in a relative path in INCLUDE. You can use the **/Ei** option along with **/Es** to exclude files that **/Es**doesn't exclude. If you want to exclude only some of the files, use **/Ei** instead of **/Es**, and list the files you want to exclude.
This option is deprecated, and has no effect. Starting in Windows Vista, error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings.
@@ -37,27 +37,27 @@ This option is deprecated, and has no effect. Starting in Windows Vista, error r
37
37
Displays a summary of the BSCMAKE command-line syntax.
38
38
39
39
**/Iu**\
40
-
Includes unreferenced symbols. By default, BSCMAKE does not record any symbols that are defined but not referenced. If an .sbr file has been packed, this option has no effect for that input file because the compiler has already removed the unreferenced symbols.
40
+
Includes unreferenced symbols. By default, BSCMAKE doesn't record any symbols that are defined but not referenced. If an *`.sbr`* file has been packed, this option has no effect for that input file because the compiler has already removed the unreferenced symbols.
41
41
42
42
**/n**\
43
-
Forces a nonincremental build. Use **/n** to force a full build of the browse information file whether or not a .bsc file exists and to prevent .sbr files from being truncated. See [How BSCMAKE Builds a .bsc File](how-bscmake-builds-a-dot-bsc-file.md).
43
+
Forces a nonincremental build. Use **/n** to force a full build of the browse information file whether a *`.bsc`* file exists or not, and to prevent *`.sbr`* files from being truncated. See [How BSCMAKE Builds a .bsc File](how-bscmake-builds-a-dot-bsc-file.md).
44
44
45
45
**/NOLOGO**\
46
46
Suppresses the BSCMAKE copyright message.
47
47
48
48
**/o***filename*\
49
-
Specifies a name for the browse information file. By default, BSCMAKE gives the browse information file the base name of the first .sbr file and a .bsc extension.
49
+
Specifies a name for the browse information file. By default, BSCMAKE gives the browse information file the base name of the first *`.sbr`* file and a *`.bsc`* extension.
50
50
51
-
**/S (***filename*...**)**\
52
-
Tells BSCMAKE to process the specified include file the first time it is encountered and to exclude it otherwise. Use this option to save processing time when a file (such as a header, or .h, file for a .c or .cpp source file) is included in several source files but is unchanged by preprocessing directives each time. You may also want to use this option if a file is changed in ways that are unimportant for the browse information file you are creating. To specify multiple files, separate the names with a space and enclose the list in parentheses. Parentheses are not necessary if you specify only one *filename*. If you want to exclude the file every time it is included, use the **/Ei** or **/Es** option.
51
+
**/S (**_filename_...**)**\
52
+
Tells BSCMAKE to process the specified include file the first time it's encountered and to exclude it otherwise. Use this option to save processing time when a file (such as a header, or *`.h`*, file for a *`.c`* or *`.cpp`* source file) is included in several source files but is unchanged by preprocessing directives each time. Use this option if a file is changed in ways unimportant for the browse information file you're creating. To specify multiple files, separate the names with a space, and enclose the list in parentheses. Parentheses aren't necessary if you specify only one *filename*. If you want to exclude the file every time it's included, use the **/Ei** or **/Es** option.
53
53
54
54
**/v**\
55
-
Provides verbose output, which includes the name of each .sbr file being processed and information about the complete BSCMAKE run.
55
+
Provides verbose output, which includes the name of each *`.sbr`* file being processed and information about the complete BSCMAKE run.
56
56
57
57
**/?**\
58
58
Displays a brief summary of BSCMAKE command-line syntax.
59
59
60
-
The following command line tells BSCMAKE to do a full build of MAIN.bsc from three .sbr files. It also tells BSCMAKE to exclude duplicate instances of TOOLBOX.h:
60
+
The following command line tells BSCMAKE to do a full build of MAIN.bsc from three *`.sbr`* files. It also tells BSCMAKE to exclude duplicate instances of TOOLBOX.h:
0 commit comments