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