Skip to content

Commit 7dd31e7

Browse files
author
Colin Robertson
authored
Merge pull request MicrosoftDocs#1908 from MicrosoftDocs/master637172168375965617
Fix git push error for protected CLA branch
2 parents 3f90d12 + 8414cd9 commit 7dd31e7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+351
-400
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,82 @@
11
---
2-
title: "ARM Assembler Command-Line Reference"
3-
ms.date: "08/30/2018"
2+
title: "ARM Assembler command-line reference"
3+
description: "Reference guide to the Microsoft ARM assembler command-line options."
4+
ms.date: "02/09/2020"
45
ms.assetid: f7b89478-1ab5-4995-8cde-a805f0462c45
56
---
6-
# ARM Assembler Command-Line Reference
7+
# ARM Assembler command-line reference
78

8-
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.
910

1011
## Syntax
1112

12-
> **armasm** [*options*] *sourcefile* *objectfile*
13-
> **armasm** [*options*] **-o** *objectfile* *sourcefile*
13+
> **`armasm`** [*options*] *source_file* *object_file*\
14+
> **`armasm`** [*options*] **`-o`** *object_file* *source_file*
1415
1516
### Parameters
1617

17-
*options*<br/>
18-
A combination of zero or more of the following:
18+
*options*\
19+
A combination of zero or more of the following options:
1920

20-
- **-errors** *filename*<br/>
21+
- **`-errors`** *filename*\
2122
Redirect error and warning messages to *filename*.
2223

23-
- **-i** *dir*[**;**<em>dir</em>]<br/>
24+
- **`-i`** *dir*[**`;`**<em>dir</em>]\
2425
Add the specified directories to the include search path.
2526

26-
- **-predefine** *directive*<br/>
27-
Specify a SETA, SETL, or SETS directive to predefine a symbol.<br/>
28-
Example: **armasm.exe -predefine "COUNT SETA 150" source.asm**<br/>
27+
- **`-predefine`** *directive*\
28+
Specify a SETA, SETL, or SETS directive to predefine a symbol.\
29+
Example: `armasm.exe -predefine "COUNT SETA 150" source.asm`\
2930
For more information, see the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html).
3031

31-
- **-nowarn**<br/>
32+
- **`-nowarn`**\
3233
Disable all warning messages.
3334

34-
- **-ignore** *warning*<br/>
35+
- **`-ignore`** *warning*\
3536
Disable the specified warning. For possible values, see the section about warnings.
3637

37-
- **-help**<br/>
38+
- **`-help`**\
3839
Print the command-line help message.
3940

40-
- **-machine** *machine*<br/>
41-
Specify the machine type to set in the PE header. Possible values for *machine* are:<br/>
42-
**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.\
4344
**THUMB**—Sets the machine type to IMAGE_FILE_MACHINE_THUMB.
4445

45-
- **-oldit**<br/>
46+
- **`-oldit`**\
4647
Generate ARMv7-style IT blocks. By default, ARMv8-compatible IT blocks are generated.
4748

48-
- **-via** *filename*<br/>
49+
- **`-via`** *filename*\
4950
Read additional command-line arguments from *filename*.
5051

51-
- **-16**<br/>
52-
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.
5354

54-
- **-32**<br/>
55+
- **`-32`**\
5556
Assemble source as 32-bit ARM instructions.
5657

57-
- **-g**<br/>
58+
- **`-g`**\
5859
Generate debugging information.
5960

60-
- **-errorReport:** *option*<br/>
61-
Specify how internal assembler errors are reported to Microsoft. Possible values for *option* are:<br/>
62-
**none**—Do not send reports.<br/>
63-
**prompt**—Prompt the user to send reports immediately.<br/>
64-
**queue**—Prompt the user to send reports at the next admin logon. This is the default.<br/>
65-
**send**—Send reports automatically.
61+
- **`-errorReport:`** *option*\
62+
This option is deprecated. Starting in Windows Vista, error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings.
6663

67-
*sourcefile*<br/>
64+
*source_file*\
6865
The name of the source file.
6966

70-
*objectfile*<br/>
67+
*object_file*\
7168
The name of the object (output) file.
7269

7370
## Remarks
7471

7572
The following example demonstrates how to use armasm in a typical scenario. First, use armasm to build an assembly language source (.asm) file to an object (.obj) file. Then, use the CL command-line C compiler to compile a source (.c) file, and also specify the linker option to link the ARM object file.
7673

77-
**armasm myasmcode.asm -o myasmcode.obj**
78-
79-
**cl myccode.c /link myasmcode.obj**
74+
```cmd
75+
armasm myasmcode.asm -o myasmcode.obj
76+
cl myccode.c /link myasmcode.obj
77+
```
8078

8179
## See also
8280

83-
[ARM Assembler Diagnostic Messages](../../assembler/arm/arm-assembler-diagnostic-messages.md)<br/>
84-
[ARM Assembler Directives](../../assembler/arm/arm-assembler-directives.md)<br/>
81+
[ARM Assembler diagnostic messages](../../assembler/arm/arm-assembler-diagnostic-messages.md)\
82+
[ARM Assembler directives](../../assembler/arm/arm-assembler-directives.md)

docs/assembler/masm/ml-and-ml64-command-line-reference.md

+20-17
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
---
2-
title: "ML and ML64 Command-Line Reference"
3-
ms.date: "12/17/2019"
2+
title: "ML and ML64 command-line reference"
3+
description: "Reference guide to the Microsoft MASM ML and ML64 assembler command-line options."
4+
ms.date: "02/09/2020"
45
f1_keywords: ["ML"]
56
helpviewer_keywords: ["/W* MASM compiler option", "/c MASM compiler option", "/EP MASM compiler option", "/Fe MASM compiler option", "/Zp MASM compiler option", "/AT MASM compiler option", "/Zm MASM compiler option", "/Sf MASM compiler option", "/Sp MASM compiler option", "/w MASM compiler option", "/Fl MASM compiler option", "/coff MASM compiler option", "/St MASM compiler option", "/Cx MASM compiler option", "/Sl MASM compiler option", "/Cu MASM compiler option", "MASM (Microsoft Macro Assembler), ML command-line reference", "/FPi MASM compiler option", "/Zf MASM compiler option", "ML environment variable", "/Fr MASM compiler option", "/help MASM compiler option", "/Sa MASM compiler option", "/Zd MASM compiler option", "/I MASM compiler option", "/? MASM compiler option", "/Bl MASM compiler option", "/Fm MASM compiler option", "/Fo MASM compiler option", "command-line reference [ML]", "/Sn MASM compiler option", "/Gd MASM compiler option", "/D* MASM compiler option", "environment variables, ML", "/Gc MASM compiler option", "/F* MASM compiler option", "/Sc MASM compiler option", "/H MASM compiler option", "/Zs MASM compiler option", "/omf MASM compiler option", "/Sg MASM compiler option", "/Cp MASM compiler option", "/Zi MASM compiler option", "/nologo MASM compiler option", "/Sx MASM compiler option", "/WX MASM compiler option", "/Ss MASM compiler option", "command line, reference [ML]", "/Ta MASM compiler option"]
67
ms.assetid: 712623c6-f77e-47ea-a945-089e57c50b40
78
---
8-
# ML and ML64 Command-Line Reference
9+
# ML and ML64 command-line reference
910

10-
Assembles and links one or more assembly-language source files. The command-line options are case sensitive.
11+
Assembles and links one or more assembly-language source files. The command-line options are case-sensitive.
1112

1213
For more information on ml64.exe, see [MASM for x64 (ml64.exe)](masm-for-x64-ml64-exe.md).
1314

1415
## Syntax
1516

1617
> ML \[*options*] *filename* \[ \[*options*] *filename*]
1718
>
18-
> ML64 \[*options*] *filename* \[ \[*options*] *filename*] ... \[/link *linkoptions*]
19+
> ML64 \[*options*] *filename* \[ \[*options*] *filename*] ... \[/link *link_options*]
1920
2021
### Parameters
2122

@@ -24,21 +25,21 @@ The options listed in the following table.
2425

2526
|Option|Action|
2627
|------------|------------|
27-
|**/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.|
2829
|**/Bl** *filename*|Selects an alternate linker.|
29-
|**/c**|Assembles only. Does not link.|
30-
|**/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.|
3132
|**/Cp**|Preserves case of all user identifiers.|
3233
|**/Cu**|Maps all identifiers to upper case (default).<br /><br /> Not available in ml64.exe.|
3334
|**/Cx**|Preserves case in public and extern symbols.|
34-
|**/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.|
3536
|**/EP**|Generates a preprocessed source listing (sent to STDOUT). See **/Sf**.|
36-
|**/ERRORREPORT** [ **NONE** &#124; **PROMPT** &#124; **QUEUE** &#124; **SEND** ]|If ml.exe or ml64.exe fails at runtime, you can use **/ERRORREPORT** to send information to Microsoft about these internal errors.<br /><br /> For more information about **/ERRORREPORT**, see [/errorReport (Report Internal Compiler Errors)](../../build/reference/errorreport-report-internal-compiler-errors.md).|
37-
|**/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*.|
37+
|**/ERRORREPORT** [ **NONE** &#124; **PROMPT** &#124; **QUEUE** &#124; **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 (the same as **/link /STACK**:*number*). The value must be expressed in hexadecimal notation. There must be a space between **/F** and *hexnum*.|
3839
|**/Fe** *filename*|Names the executable file.|
3940
|**/Fl***filename*|Generates an assembled code listing. See **/Sf**.|
4041
|**/Fm***filename*|Creates a linker map file.|
41-
|**/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).|
4243
|**/FPi**|Generates emulator fix-ups for floating-point arithmetic (mixed language only).<br /><br /> Not available in ml64.exe.|
4344
|**/Fr***filename*|Generates a source browser .sbr file.|
4445
|**/FR***filename*|Generates an extended form of a source browser .sbr file.|
@@ -49,7 +50,7 @@ The options listed in the following table.
4950
|**/help**|Calls QuickHelp for help on ML.|
5051
|**/I** *pathname*|Sets path for include file. A maximum of 10 **/I** options is allowed.|
5152
|**/nologo**|Suppresses messages for successful assembly.|
52-
|**/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.|
5354
|**/Sa**|Turns on listing of all available information.|
5455
|**/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.|
5556
|**/Sf**|Adds first-pass listing to listing file.|
@@ -59,7 +60,7 @@ The options listed in the following table.
5960
|**/Ss** *text*|Specifies text for source listing. Same as [SUBTITLE](subtitle.md) text.|
6061
|**/St** *text*|Specifies title for source listing. Same as [TITLE](title.md) text.|
6162
|**/Sx**|Turns on false conditionals in listing.|
62-
|**/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.|
6364
|**/w**|Same as **/W0/WX**.|
6465
|**/W** *level*|Sets the warning level, where *level* = 0, 1, 2, or 3.|
6566
|**/WX**|Returns an error code if warnings are generated.|
@@ -75,14 +76,16 @@ The options listed in the following table.
7576
*filename*\
7677
The name of the file.
7778

78-
*linkoptions*\
79-
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).
8081

8182
## Remarks
8283

8384
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:
8485

85-
**ml.exe /Fo a1.obj /c a.asm /Fo b1.obj /c b.asm**
86+
```cmd
87+
ml.exe /Fo a1.obj /c a.asm /Fo b1.obj /c b.asm
88+
```
8689

8790
## Environment Variables
8891

0 commit comments

Comments
 (0)