Commit | Line | Data |
---|---|---|
82704155 | 1 | @c Copyright (C) 2006-2019 Free Software Foundation, Inc. |
d70c5fc7 NC |
2 | @c This is part of the GAS manual. |
3 | @c For copying conditions, see the file as.texinfo. | |
4 | ||
5 | @page | |
6 | @node xc16x-Dependent | |
7 | @chapter Infineon xc16x Dependent Features | |
8 | ||
9 | @cindex xc16x support | |
10 | @menu | |
11 | * xc16x Directives:: xc16x Machine Directives | |
7c31ae13 | 12 | * xc16x Syntax:: xc16x Syntax |
d70c5fc7 NC |
13 | @end menu |
14 | ||
15 | @node xc16x Directives | |
16 | @section xc16x Machine Directives | |
17 | ||
18 | The xc16x version of the assembler supports the following machine | |
19 | directives: | |
20 | ||
21 | @table @code | |
22 | @cindex @code{align} directive, xc16x | |
23 | @item .align | |
24 | This directive aligns the section program counter on the next 2-byte | |
25 | boundary. | |
26 | ||
27 | ||
28 | @cindex @code{byte} directive, xc16x | |
29 | @item .byte @var{expr} | |
30 | This directive assembles a half-word (8-bit) constant. | |
31 | ||
32 | @cindex @code{word} directive, xc16x | |
33 | @item .word @var{expr} | |
34 | This assembles a word (16-bit) constant. | |
35 | ||
36 | @cindex @code{ascii} directive, xc16x | |
37 | @item .ascii "@var{ascii}" | |
34bca508 | 38 | This directive used for copying @var{str} into the object file. |
d70c5fc7 NC |
39 | The string is terminated with a null byte. |
40 | ||
41 | @cindex @code{set} directive, xc16x | |
42 | @item .set @var{symbol}, @var{value} | |
43 | This directive creates a symbol named @var{symbol} which is an alias for | |
44 | another symbol (possibly not yet defined). This should not be confused | |
45 | with the mnemonic @code{set}, which is a legitimate xc16x instruction. | |
46 | ||
47 | ||
48 | ||
49 | @cindex @code{bss} directive, xc16x | |
50 | @item .bss @var{symbol}, @var{length} | |
51 | Reserve @var{length} bytes in the bss section for a local @var{symbol}, | |
52 | aligned to the power of two specified by @var{align}. @var{length} and | |
53 | @var{align} must be positive absolute expressions. This directive | |
54 | differs from @samp{.lcomm} only in that it permits you to specify | |
34bca508 | 55 | an alignment. |
d70c5fc7 | 56 | @end table |
7c31ae13 NC |
57 | |
58 | @node xc16x Syntax | |
59 | @section xc16x Syntax | |
60 | @menu | |
61 | * xc16x-Chars:: Special Characters | |
62 | @end menu | |
63 | ||
64 | @node xc16x-Chars | |
65 | @subsection Special Characters | |
66 | ||
67 | @cindex line comment character, xc16x | |
68 | @cindex xc16c line comment character | |
69 | The presence of a @samp{;} appearing anywhere on a line indicates the | |
70 | start of a comment that extends to the end of that line. | |
71 | ||
72 | If a @samp{#} appears as the first character of a line then the whole | |
73 | line is treated as a comment, but in this case the line can also be a | |
74 | logical line number directive (@pxref{Comments}) or a preprocessor | |
75 | control command (@pxref{Preprocessing}). | |
76 | ||
77 | @cindex line separator, xc16x | |
78 | @cindex statement separator, xc16x | |
79 | @cindex xc16x line separator | |
80 | The XC16X assembler does not support a line separator character. |