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
Copy file name to clipboardExpand all lines: docs/assembler/arm/arm-assembler-directives.md
+77-56Lines changed: 77 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,92 +16,113 @@ For the most part, the Microsoft ARM assembler uses the ARM assembly language, w
16
16
17
17
## Microsoft Implementations of ARM Assembly Directives
18
18
19
-
`AREA`<br/>
20
-
The Microsoft ARM assembler supports these `AREA` attributes: `ALIGN`, `CODE`, `CODEALIGN`, `DATA`, `NOINIT`, `READONLY`, `READWRITE`, `THUMB`, `ARM`.
19
+
- AREA
21
20
22
-
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).
21
+
The Microsoft ARM assembler supports these `AREA` attributes: `ALIGN`, `CODE`, `CODEALIGN`, `DATA`, `NOINIT`, `READONLY`, `READWRITE`, `THUMB`, `ARM`.
23
22
24
-
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.
23
+
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).
25
24
26
-
`ATTR`<br/>
27
-
Not supported.
25
+
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.
28
26
29
-
`CODE16`<br/>
30
-
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
+
- ATTR
31
28
32
-
`COMMON`<br/>
33
-
Specification of an alignment for the common region is not supported.
29
+
Not supported.
34
30
35
-
`DCDO`<br/>
36
-
Not supported.
31
+
- CODE16
37
32
38
-
`DN`, `QN`, `SN`<br/>
39
-
Specification of a type or a lane on the register alias is not supported.
33
+
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.
40
34
41
-
`ENTRY`<br/>
42
-
Not supported.
35
+
- COMMON
43
36
44
-
`EQU`<br/>
45
-
Specification of a type for the defined symbol is not supported.
37
+
Specification of an alignment for the common region is not supported.
*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`.
43
+
-`DN`, `QN`, `SN`
53
44
54
-
`EXPORTAS`<br/>
55
-
Not supported.
45
+
Specification of a type or a lane on the register alias is not supported.
56
46
57
-
`FRAME`<br/>
58
-
Not supported.
47
+
- ENTRY
59
48
60
-
`FUNCTION` and `PROC`<br/>
61
-
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.
Specification of a type for the defined symbol is not supported.
67
54
68
-
*sym* is the name of the symbol to be imported.
55
+
-`EXPORT` and `GLOBAL`
69
56
70
-
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*.
57
+
Specifies exports using this syntax:
71
58
72
-
If `TYPE`*t* is specified, then *t* indicates how the linker should attempt to resolve *sym*. These values for *t* are possible:
*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`.
79
62
80
-
`EXTERN` is a synonym for `IMPORT`, except that *sym* is imported only if there are references to it in the current assembly.
63
+
- EXPORTAS
81
64
82
-
`MACRO`<br/>
83
-
The use of a variable to hold the condition code of a macro is not supported. Default values for macro parameters are not supported.
65
+
Not supported.
84
66
85
-
`NOFP`<br/>
86
-
Not supported.
67
+
- FRAME
87
68
88
-
`OPT`, `TTL`, `SUBT`<br/>
89
-
Not supported because the Microsoft ARM assembler does not produce listings.
69
+
Not supported.
90
70
91
-
`PRESERVE8`<br/>
92
-
Not supported.
71
+
-`FUNCTION` and `PROC`
93
72
94
-
`RELOC`<br/>
95
-
`RELOC n` can only follow an instruction or a data definition directive. There is no "anonymous symbol" that can be relocated.
73
+
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.
96
74
97
-
`REQUIRE`<br/>
98
-
Not supported.
75
+
-`IMPORT` and `EXTERN`
99
76
100
-
`REQUIRE8`<br/>
101
-
Not supported.
77
+
Specifies imports using this syntax:
102
78
103
-
`THUMBX`<br/>
104
-
Not supported because the Microsoft ARM assembler does not support the Thumb-2EE instruction set.
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*.
84
+
85
+
If `TYPE`*t* is specified, then *t* indicates how the linker should attempt to resolve *sym*. These values for *t* are possible:
86
+
87
+
|Value|Description|
88
+
|-|-|
89
+
|1|Do not perform a library search for *sym*|
90
+
|2|Perform a library search for *sym*|
91
+
|3|*sym* is an alias for *alias* (default)|
92
+
93
+
`EXTERN` is a synonym for `IMPORT`, except that *sym* is imported only if there are references to it in the current assembly.
94
+
95
+
- MACRO
96
+
97
+
The use of a variable to hold the condition code of a macro is not supported. Default values for macro parameters are not supported.
98
+
99
+
- NOFP
100
+
101
+
Not supported.
102
+
103
+
-`OPT`, `TTL`, `SUBT`
104
+
105
+
Not supported because the Microsoft ARM assembler does not produce listings.
106
+
107
+
- PRESERVE8
108
+
109
+
Not supported.
110
+
111
+
- RELOC
112
+
113
+
`RELOC n` can only follow an instruction or a data definition directive. There is no "anonymous symbol" that can be relocated.
114
+
115
+
- REQUIRE
116
+
117
+
Not supported.
118
+
119
+
- REQUIRE8
120
+
121
+
Not supported.
122
+
123
+
- THUMBX
124
+
125
+
Not supported because the Microsoft ARM assembler does not support the Thumb-2EE instruction set.
Copy file name to clipboardExpand all lines: docs/c-runtime-library/setjmp3.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,13 +29,13 @@ int _setjmp3(
29
29
```
30
30
31
31
#### Parameters
32
-
`env`<br/>
32
+
*env*<br/>
33
33
[out] Address of the buffer for storing state information.
34
34
35
-
`count`<br/>
35
+
*count*<br/>
36
36
[in] The number of additional `DWORD`s of information that are stored in the `optional parameters`.
37
37
38
-
`optional parameters`<br/>
38
+
*optional parameters*<br/>
39
39
[in] Additional data pushed down by the `setjmp` intrinsic. The first `DWORD` is a function pointer that is used to unwind extra data and return to a nonvolatile register state. The second `DWORD` is the try level to be restored. Any further data is saved in the generic data array in the `jmp_buf`.
0 commit comments