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