Skip to content

Commit fb2e867

Browse files
TaojunshenColin RobertsonTylerMSFTopbld15TylerMSFT
authored
8/25/2021 AM Publish (MicrosoftDocs#3736)
* draft * fix code sample (#3676) * fix code sample * acrolinx Co-authored-by: TylerMSFT <Tyler.Whitney@microsoft.com> * document clocks * add tai-clock * Address 3269 typo in warning number (#3680) * Fixed typo: evalution --> evaluation * updates * finish draft of new clocks * acrolinx * Fixed typo: evalution --> evaluation * Bulk Fix - Sentence form for all alt text (#3683) * Updated C/C++ workload name The workload for C/C++ development in VS Build Tools 2019 installer is called 'Desktop development with C++'. * Split out docs by version Add VS2017-specific instructions. * Updated C/C++ workload name The workload for C/C++ development in VS Build Tools 2019 installer is called 'Desktop development with C++'. * Split out docs by version Add VS2017-specific instructions. * Add 16.11 Compiler Warnings C5247 and C5248 (MicrosoftDocs#3689) * Add C5247 and C5248 * Fix link typos * Updates per Xiang Fan review * More wordsmithage * More fix per X.F. * Fix inconsistencies in CMake docs (MicrosoftDocs#3692) * Standard format for CMake docs * Fix markdownlint * More cleanup. * Clean up link issue, acrolinx * Fix more broken things * Undo a change * Add documentation for "unspecified" architecture Add documentation regarding "unspecified" architecture such that it provides an option for someone to ensure that no inherited environment is selected. * Update markdownlint.json file for unordered lists (#3694) Block rule that wants * instead of - to prefix unordered lists, since we've standardized on the latter. Merging on my own recognizance as repo admin. * Clean up documentation for "unspecified" architecture * Markdown quality fixes 1 of N * Markdown quality fixes 2 of N * Markdown quality fixes 3 of N * Markdown quality fixes 4 of N * Markdown quality fixes 5 of N * Markdown quality fixes 6 of N * Markdown quality fixes 7 of N * Markdown quality fixes 8 of N * Markdown quality fixes 9 of N * Markdown quality fixes 10 of N * Undo TN038 * Markdown quality fixes 11 of N * Setting PATH allows DUMPBIN to be executed from the system command prompt. There are multiple DUMPBIN.EXE's in the MSVC folder, but they can be executed if the PATH is set correctly. If this is not true, or undesireable per system design constraints, please clarify otherwise. * Call out toolchains and embedded scenarios * Add link to environment setting instructions * Make more readable * Address cpp-docs 3286 Postfix increment, decrement syntax (MicrosoftDocs#3711) * Address cpp-docs issue 3286 * Fix formatting, final example * Add compiler warning C5243, C5249, C5250 (MicrosoftDocs#3710) * Removing linux and non-windows bullet point * Make clear it's not required to meet all conditions Add "or" to final bullet point * PR review edit, Microsoft style for lists * Make the "unspecified" architecture option more general * Add __SANITIZE_ADDRESS__ to predefined macros page Noticed __SANITIZE_ADDRESS__ was missing from this list. * Add VS version Also note the VS version where __SANITIZE_ADDRESS__ was added in. * Add docs on using existing cache without cmake-server * Fix unescaped <chrono> (MicrosoftDocs#3715) Noticed this while doing other changes. Without being in a code block, <chrono> becomes the html element of the same name. * Address issue 3301 * Create and integrate /Zc:lambda article (#3719) * Create and integrate /Zc:lambda article * Fix conformance topic date * First half of C++20 changes * The other half of the /std:c++20 fixes * Fix link * Update cmake-projects-in-visual-studio.md * Remove duplicate line in build TOC * tech review * fixes * Cleanup per review * Update thread-class.md * Update future-functions.md * Update execution.md * Update execution.md * Update execution.md * Update future-functions.md * Update thread-class.md * Update execution.md * Update future-functions.md * Update thread-class.md * updates per tech review and other * added file_clock * Update execution.md * Update future-functions.md * Update thread-class.md * add gps_clock * update metadata * PR review edit, relative links * PR review edit, relative links * PR review edit, relative link * Fixed typo in bit-functions.md * Further typo fix * finished draft for local_t * acrolinx * Fixed broken links * incorp tech review * update typedef sections * add all related typedefs * fix tables * acrolinx * cleanup * fix links * fix tables * more table cleanup * another fix for tables. error msgs aren't by the error but I think I finally found the issue * one more table fix * typos * Update links to ARM docs (#3735) * Update links to ARM docs * Acrolinx and formatting pass * Acrolinx Co-authored-by: Colin Robertson <corob@microsoft.com> Co-authored-by: TylerMSFT <Tyler.Whitney@microsoft.com> Co-authored-by: opbld15 <opbld15@microsoft.com> Co-authored-by: Tyler Whitney <TylerMSFT@users.noreply.github.com> Co-authored-by: opbld17 <opbld17@microsoft.com> Co-authored-by: ystamant <49958001+ystamant@users.noreply.github.com> Co-authored-by: opbld16 <opbld16@microsoft.com> Co-authored-by: Andrew Shymanel <88244804+ainrd@users.noreply.github.com> Co-authored-by: Garrett Campbell <86264750+gcampbell-msft@users.noreply.github.com> Co-authored-by: PRMerger6 <prmrgr6@microsoft.com> Co-authored-by: PRMerger12 <prmrgr12@microsoft.com> Co-authored-by: PRMerger14 <prmrgr14@microsoft.com> Co-authored-by: PRMerger16 <prmrgr16@microsoft.com> Co-authored-by: PRMerger15 <prmrgr15@microsoft.com> Co-authored-by: PRMerger7 <prmrgr7@microsoft.com> Co-authored-by: PRMerger10 <prmrgr10@microsoft.com> Co-authored-by: David Dyck <david.dyck@gmail.com> Co-authored-by: Kristine Toliver <ktoliver@users.noreply.github.com> Co-authored-by: Steve Wishnousky <stwish@microsoft.com> Co-authored-by: Sam Freed <sfreed141@gmail.com> Co-authored-by: Don Spencer <87099566+v-donspencer@users.noreply.github.com> Co-authored-by: Beau Braig <86677107+BeauBraig@users.noreply.github.com> Co-authored-by: Alex Guteniev <gutenev@gmail.com> Co-authored-by: Paula Miller <v-paulmi@microsoft.com> Co-authored-by: RibShark <1957489+RibShark@users.noreply.github.com> Co-authored-by: onihusube <44743040+onihusube@users.noreply.github.com> Co-authored-by: PRMerger8 <prmrgr8@microsoft.com>
1 parent 6bb83bb commit fb2e867

6 files changed

Lines changed: 75 additions & 74 deletions

docs/assembler/arm/arm-assembler-command-line-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ A combination of zero or more of the following options:
2727
- **`-predefine`** *directive*\
2828
Specify a SETA, SETL, or SETS directive to predefine a symbol.\
2929
Example: `armasm.exe -predefine "COUNT SETA 150" source.asm`\
30-
For more information, see the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html).
30+
For more information, see the [ARM Compiler armasm Reference Guide](https://developer.arm.com/documentation/dui0802/latest/).
3131

3232
- **`-nowarn`**\
3333
Disable all warning messages.

docs/assembler/arm/arm-assembler-directives.md

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,117 +6,117 @@ ms.assetid: 9cfa8896-ec10-4e77-855a-3135c40d7d2a
66
---
77
# ARM Assembler Directives
88

9-
For the most part, the Microsoft ARM assembler uses the ARM assembly language, which is documented in the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html). However, the Microsoft implementations of some assembly directives differ from the ARM assembly directives. This article explains the differences.
9+
Generally, the Microsoft ARM assembler uses the ARM assembly language, which is documented in the [ARM Compiler armasm Reference Guide](https://developer.arm.com/documentation/dui0802/latest/). However, the Microsoft implementations of some assembly directives differ from the ARM assembly directives. This article explains the differences.
1010

1111
## Microsoft Implementations of ARM Assembly Directives
1212

13-
- AREA
13+
- `AREA`
1414

1515
The Microsoft ARM assembler supports these `AREA` attributes: `ALIGN`, `CODE`, `CODEALIGN`, `DATA`, `NOINIT`, `READONLY`, `READWRITE`, `THUMB`, `ARM`.
1616

17-
All except `THUMB` and `ARM` work as documented in the [ARM Compiler armasm Reference Guide](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802b/index.html).
17+
All except `THUMB` and `ARM` work as documented in the [ARM Compiler armasm Reference Guide](https://developer.arm.com/documentation/dui0802/latest/).
1818

1919
In the Microsoft ARM assembler, `THUMB` indicates that a `CODE` section contains Thumb code, and is the default for `CODE` sections. `ARM` indicates that the section contains ARM code.
2020

21-
- ATTR
21+
- `ATTR`
2222

2323
Not supported.
2424

25-
- CODE16
25+
- `CODE16`
2626

27-
Not supported because it implies pre-UAL Thumb syntax, which the Microsoft ARM assembler does not allow. Use the `THUMB` directive instead, along with UAL syntax.
27+
Not supported because it implies pre-UAL Thumb syntax, which the Microsoft ARM assembler doesn't allow. Use the `THUMB` directive instead, along with UAL syntax.
2828

29-
- COMMON
29+
- `COMMON`
3030

31-
Specification of an alignment for the common region is not supported.
31+
Specification of an alignment for the common region isn't supported.
3232

33-
- DCDO
33+
- `DCDO`
3434

3535
Not supported.
3636

3737
- `DN`, `QN`, `SN`
3838

39-
Specification of a type or a lane on the register alias is not supported.
39+
Specification of a type or a lane on the register alias isn't supported.
4040

41-
- ENTRY
41+
- `ENTRY`
4242

4343
Not supported.
4444

45-
- EQU
45+
- `EQU`
4646

47-
Specification of a type for the defined symbol is not supported.
47+
Specification of a type for the defined symbol isn't supported.
4848

4949
- `EXPORT` and `GLOBAL`
5050

5151
Specifies exports using this syntax:
5252

53-
> **EXPORT**|**GLOBAL** <em>sym</em>{**[**<em>type</em>**]**}
53+
> **`EXPORT`**|**`GLOBAL`** *`symbol`*{*`[type]`*}
5454
55-
*sym* is the symbol to be exported. [*type*], if specified, can be either `[DATA]` to indicate that the symbol points to data or `[FUNC]` to indicate that the symbol points to code. `GLOBAL` is a synonym for `EXPORT`.
55+
*`symbol`* is the symbol to be exported. *`[type]`*, if specified, can be either `[DATA]` to indicate that the symbol points to data or `[FUNC]` to indicate that the symbol points to code. `GLOBAL` is a synonym for `EXPORT`.
5656

57-
- EXPORTAS
57+
- `EXPORTAS`
5858

5959
Not supported.
6060

61-
- FRAME
61+
- `FRAME`
6262

6363
Not supported.
6464

6565
- `FUNCTION` and `PROC`
6666

67-
Although the assembly syntax supports the specification of a custom calling convention on procedures by listing the registers that are caller-save and those that are callee-save, the Microsoft ARM assembler accepts the syntax but ignores the register lists. The debug information that is produced by the assembler supports only the default calling convention.
67+
The assembly syntax lets you specify a custom calling convention on procedures: you list the registers that are caller-save, and the ones that are callee-save. However, while the Microsoft ARM assembler accepts the syntax, it ignores the register lists. The debug information that's produced by the assembler supports only the default calling convention.
6868

6969
- `IMPORT` and `EXTERN`
7070

7171
Specifies imports using this syntax:
7272

73-
> **IMPORT**|**EXTERN** *sym*{**, WEAK** *alias*{**, TYPE** *t*}}
73+
> **`IMPORT`**|**`EXTERN`** *`symbol`*{**`, WEAK`** *`alias`*{**`, TYPE`** *`t`*}}
7474
75-
*sym* is the name of the symbol to be imported.
75+
*`symbol`* is the name of the symbol to be imported.
7676

77-
If `WEAK` *alias* is specified, it indicates that *sym* is a weak external. If no definition for it is found at link time, then all references to it bind instead to *alias*.
77+
If `WEAK` *`alias`* is specified, it indicates that *`symbol`* is a weak external. If a definition for it isn't found at link time, then all references to it bind instead to *`alias`*.
7878

79-
If `TYPE` *t* is specified, then *t* indicates how the linker should attempt to resolve *sym*. These values for *t* are possible:
79+
If `TYPE` *`t`* is specified, then *`t`* indicates how the linker should attempt to resolve *`symbol`*. These values for *`t`* are possible:
8080

81-
|Value|Description|
82-
|-|-|
83-
|1|Do not perform a library search for *sym*|
84-
|2|Perform a library search for *sym*|
85-
|3|*sym* is an alias for *alias* (default)|
81+
| Value | Description |
82+
|--|--|
83+
| 1 | Don't search libraries for *`symbol`*. |
84+
| 2 | Search libraries for *`symbol`*. |
85+
| 3 | *`symbol`* is an alias for *`alias`* (default). |
8686

87-
`EXTERN` is a synonym for `IMPORT`, except that *sym* is imported only if there are references to it in the current assembly.
87+
`EXTERN` is a synonym for `IMPORT`, except that *`symbol`* is imported only if there are references to it in the current assembly.
8888

89-
- MACRO
89+
- `MACRO`
9090

91-
The use of a variable to hold the condition code of a macro is not supported. Default values for macro parameters are not supported.
91+
The use of a variable to hold the condition code of a macro isn't supported. Default values for macro parameters aren't supported.
9292

93-
- NOFP
93+
- `NOFP`
9494

9595
Not supported.
9696

9797
- `OPT`, `TTL`, `SUBT`
9898

99-
Not supported because the Microsoft ARM assembler does not produce listings.
99+
Not supported, because the Microsoft ARM assembler doesn't produce listings.
100100

101-
- PRESERVE8
101+
- `PRESERVE8`
102102

103103
Not supported.
104104

105-
- RELOC
105+
- `RELOC`
106106

107-
`RELOC n` can only follow an instruction or a data definition directive. There is no "anonymous symbol" that can be relocated.
107+
`RELOC n` can only follow an instruction or a data definition directive. There's no "anonymous symbol" that can be relocated.
108108

109-
- REQUIRE
109+
- `REQUIRE`
110110

111111
Not supported.
112112

113-
- REQUIRE8
113+
- `REQUIRE8`
114114

115115
Not supported.
116116

117-
- THUMBX
117+
- `THUMBX`
118118

119-
Not supported because the Microsoft ARM assembler does not support the Thumb-2EE instruction set.
119+
Not supported, because the Microsoft ARM assembler doesn't support the Thumb-2EE instruction set.
120120

121121
## See also
122122

docs/assembler/arm/arm-assembler-reference.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ The articles in this section of the documentation provide reference material for
1313
|Title|Description|
1414
|-----------|-----------------|
1515
|[ARM Assembler Command-Line Reference](../../assembler/arm/arm-assembler-command-line-reference.md)|Describes the armasm command-line options.|
16-
|[ARM Assembler Diagnostic Messages](../../assembler/arm/arm-assembler-diagnostic-messages.md)|Describes commonly encountered armasm warning and error messages.|
16+
|[ARM Assembler Diagnostic Messages](../../assembler/arm/arm-assembler-diagnostic-messages.md)|Describes commonly seen armasm warning and error messages.|
1717
|[ARM Assembler Directives](../../assembler/arm/arm-assembler-directives.md)|Describes the ARM directives that are different in armasm.|
1818
|[ARM Architecture Reference Manual](https://developer.arm.com/search#q=ARM%20Architecture%20Reference%20Manual) on the ARM Developer website.|Choose the relevant manual for your ARM architecture. Each contains reference sections about ARM, Thumb, NEON, and VFP, and additional information about the ARM assembly language.|
19-
|[ARM Compiler armasm User Guide](https://developer.arm.com/search#q=ARM%20Compiler%20armasm%20User%20Guide) on the ARM Developer website.|Choose a recent version to find up-to-date information about the ARM assembly language. **Note:** The "armasm" assembler that is referred to on the ARM Developer website is not the Microsoft armasm assembler that is included in Visual Studio and is documented in this section.|
19+
|[ARM Compiler armasm User Guide](https://developer.arm.com/search#q=ARM%20Compiler%20armasm%20User%20Guide) on the ARM Developer website.|Choose a recent version to find up-to-date information about the ARM assembly language.|
20+
21+
> [!IMPORTANT]
22+
> The armasm assembler that the ARM Developer website describes isn't the same as the Microsoft armasm assembler that's included in Visual Studio and is documented in this section.
2023
2124
## See also
2225

docs/assembler/masm/processor-manufacturer-programming-manuals.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This article provides links to websites that may contain programming info about
1212

1313
- [AMD Developer Guides, Manuals & ISA Documents](https://developer.amd.com/resources/developer-guides-manuals/)
1414

15-
- [ARM Architecture Reference Manual](https://developer.arm.com/docs/ddi0487/fb)
15+
- [ARM Architecture Reference Manual](https://developer.arm.com/documentation/ddi0487/latest/)
1616

1717
- [Intel 64 and IA-32 Architectures Software Developer Manuals](https://software.intel.com/articles/intel-sdm)
1818

docs/build/arm64-windows-abi-conventions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.date: "03/27/2019"
55
---
66
# Overview of ARM64 ABI conventions
77

8-
The basic application binary interface (ABI) for Windows when compiled and run on ARM processors in 64-bit mode (ARMv8 or later architectures), for the most part, follows ARM's standard AArch64 EABI. This article highlights some of the key assumptions and changes from what is documented in the EABI. For information about the 32-bit ABI, see [Overview of ARM ABI conventions](overview-of-arm-abi-conventions.md). For more information about the standard ARM EABI, see [Application Binary Interface (ABI) for the ARM Architecture](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.swdev.abi/index.html) (external link).
8+
The basic application binary interface (ABI) for Windows when compiled and run on ARM processors in 64-bit mode (ARMv8 or later architectures), for the most part, follows ARM's standard AArch64 EABI. This article highlights some of the key assumptions and changes from what is documented in the EABI. For information about the 32-bit ABI, see [Overview of ARM ABI conventions](overview-of-arm-abi-conventions.md). For more information about the standard ARM EABI, see [Application Binary Interface (ABI) for the ARM Architecture](https://github.com/ARM-software/abi-aa) (external link).
99

1010
## Definitions
1111

0 commit comments

Comments
 (0)