|
1 | | ---- |
2 | | -title: "ARM Assembler Command-Line Reference | Microsoft Docs" |
3 | | -ms.custom: "" |
4 | | -ms.date: "11/04/2016" |
5 | | -ms.technology: ["cpp-masm"] |
6 | | -ms.topic: "reference" |
7 | | -dev_langs: ["C++"] |
8 | | -ms.assetid: f7b89478-1ab5-4995-8cde-a805f0462c45 |
9 | | -author: "corob-msft" |
10 | | -ms.author: "corob" |
11 | | -ms.workload: ["cplusplus"] |
| 1 | +--- |
| 2 | +title: "ARM Assembler Command-Line Reference | Microsoft Docs" |
| 3 | +ms.custom: "" |
| 4 | +ms.date: "11/04/2016" |
| 5 | +ms.technology: ["cpp-masm"] |
| 6 | +ms.topic: "reference" |
| 7 | +dev_langs: ["C++"] |
| 8 | +ms.assetid: f7b89478-1ab5-4995-8cde-a805f0462c45 |
| 9 | +author: "corob-msft" |
| 10 | +ms.author: "corob" |
| 11 | +ms.workload: ["cplusplus"] |
12 | 12 | --- |
13 | 13 | # ARM Assembler Command-Line Reference |
14 | | -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. |
15 | | - |
16 | | -## Syntax |
17 | | - |
18 | | -``` |
19 | | -armasm [[options]] sourcefile objectfile |
20 | | -``` |
21 | | - |
22 | | -``` |
23 | | -armasm [[options]] -o objectfile sourcefile |
24 | | -``` |
25 | | - |
26 | | -#### Parameters |
27 | | - `options` |
28 | | - -errors `filename` |
29 | | - Redirect error and warning messages to `filename`. |
30 | | - |
31 | | - -i `dir[;dir]` |
32 | | - Add the specified directories to the include search path. |
33 | | - |
34 | | - -predefine `directive` |
35 | | - Specify a SETA, SETL, or SETS directive to predefine a symbol. Example: **armasm.exe -predefine "COUNT SETA 150" source.asm**. For more information, see the [ARM assembler tools guide](http://go.microsoft.com/fwlink/p/?linkid=246102). |
36 | | - |
37 | | - -nowarn |
38 | | - Disable all warning messages. |
39 | | - |
40 | | - -ignore `warning` |
41 | | - Disable the specified warning. For possible values, see the section about warnings. |
42 | | - |
43 | | - -help |
44 | | - Print the command-line help message. |
45 | | - |
46 | | - -machine `machine` |
47 | | - Specify the machine type to set in the PE header. Possible values for `machine` are: |
48 | | -**ARM**—Sets the machine type to IMAGE_FILE_MACHINE_ARMNT. This is the default. |
49 | | -**THUMB**—Sets the machine type to IMAGE_FILE_MACHINE_THUMB. |
50 | | - |
51 | | - -oldit |
52 | | - Generate ARMv7-style IT blocks. By default, ARMv8-compatible IT blocks are generated. |
53 | | - |
54 | | - -via `filename` |
55 | | - Read additional command-line arguments from `filename`. |
56 | | - |
57 | | - -16 |
58 | | - Assemble source as 16-bit Thumb instructions. This is the default. |
59 | | - |
60 | | - -32 |
61 | | - Assemble source as 32-bit ARM instructions. |
62 | | - |
63 | | - -g |
64 | | - Generate debugging information. |
65 | | - |
66 | | - -errorReport: `option` |
67 | | - Specify how internal assembler errors are reported to Microsoft. Possible values for `option` are: |
68 | | -**none**—Do not send reports. |
69 | | -**prompt**—Prompt the user to send reports immediately. |
70 | | -**queue**—Prompt the user to send reports at the next admin logon. This is the default. |
71 | | -**send**—Send reports automatically. |
72 | | - |
73 | | - `sourcefile` |
74 | | - The name of the source file. |
75 | | - |
76 | | - `objectfile` |
77 | | - The name of the object (output) file. |
78 | | - |
79 | | - 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. |
80 | | - |
81 | | - **armasm myasmcode.asm -o myasmcode.obj** |
82 | | - |
83 | | - **cl myccode.c /link myasmcode.obj** |
84 | | - |
85 | | -## See Also |
86 | | - [ARM Assembler Diagnostic Messages](../../assembler/arm/arm-assembler-diagnostic-messages.md) |
87 | | - [ARM Assembler Directives](../../assembler/arm/arm-assembler-directives.md) |
| 14 | + |
| 15 | +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. |
| 16 | + |
| 17 | +## Syntax |
| 18 | + |
| 19 | +> **armasm** [*options*] *sourcefile* *objectfile* |
| 20 | +> **armasm** [*options*] **-o** *objectfile* *sourcefile* |
| 21 | +
|
| 22 | +### Parameters |
| 23 | + |
| 24 | +*options*<br/> |
| 25 | +A combination of zero or more of the following: |
| 26 | + |
| 27 | +- **-errors** *filename*<br/> |
| 28 | + Redirect error and warning messages to *filename*. |
| 29 | + |
| 30 | +- **-i** *dir*[**;**<em>dir</em>]<br/> |
| 31 | + Add the specified directories to the include search path. |
| 32 | + |
| 33 | +- **-predefine** *directive*<br/> |
| 34 | + Specify a SETA, SETL, or SETS directive to predefine a symbol.<br/> |
| 35 | + Example: **armasm.exe -predefine "COUNT SETA 150" source.asm**<br/> |
| 36 | + For more information, see the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html). |
| 37 | + |
| 38 | +- **-nowarn**<br/> |
| 39 | + Disable all warning messages. |
| 40 | + |
| 41 | +- **-ignore** *warning*<br/> |
| 42 | + Disable the specified warning. For possible values, see the section about warnings. |
| 43 | + |
| 44 | +- **-help**<br/> |
| 45 | + Print the command-line help message. |
| 46 | + |
| 47 | +- **-machine** *machine*<br/> |
| 48 | + Specify the machine type to set in the PE header. Possible values for *machine* are:<br/> |
| 49 | + **ARM**—Sets the machine type to IMAGE_FILE_MACHINE_ARMNT. This is the default.<br/> |
| 50 | + **THUMB**—Sets the machine type to IMAGE_FILE_MACHINE_THUMB. |
| 51 | + |
| 52 | +- **-oldit**<br/> |
| 53 | + Generate ARMv7-style IT blocks. By default, ARMv8-compatible IT blocks are generated. |
| 54 | + |
| 55 | +- **-via** *filename*<br/> |
| 56 | + Read additional command-line arguments from *filename*. |
| 57 | + |
| 58 | +- **-16**<br/> |
| 59 | + Assemble source as 16-bit Thumb instructions. This is the default. |
| 60 | + |
| 61 | +- **-32**<br/> |
| 62 | + Assemble source as 32-bit ARM instructions. |
| 63 | + |
| 64 | +- **-g**<br/> |
| 65 | + Generate debugging information. |
| 66 | + |
| 67 | +- **-errorReport:** *option*<br/> |
| 68 | + Specify how internal assembler errors are reported to Microsoft. Possible values for *option* are:<br/> |
| 69 | + **none**—Do not send reports.<br/> |
| 70 | + **prompt**—Prompt the user to send reports immediately.<br/> |
| 71 | + **queue**—Prompt the user to send reports at the next admin logon. This is the default.<br/> |
| 72 | + **send**—Send reports automatically. |
| 73 | + |
| 74 | +*sourcefile*<br/> |
| 75 | +The name of the source file. |
| 76 | + |
| 77 | +*objectfile*<br/> |
| 78 | +The name of the object (output) file. |
| 79 | + |
| 80 | +## Remarks |
| 81 | + |
| 82 | +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. |
| 83 | + |
| 84 | +**armasm myasmcode.asm -o myasmcode.obj** |
| 85 | + |
| 86 | +**cl myccode.c /link myasmcode.obj** |
| 87 | + |
| 88 | +## See Also |
| 89 | + |
| 90 | +[ARM Assembler Diagnostic Messages](../../assembler/arm/arm-assembler-diagnostic-messages.md)<br/> |
| 91 | +[ARM Assembler Directives](../../assembler/arm/arm-assembler-directives.md)<br/> |
0 commit comments