1 @c Copyright (C) 2006-2014 Free Software Foundation, Inc. 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 12 * xc16x Syntax:: xc16x Syntax 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}" 38 This directive used for copying @var{str} into the object file. 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 55 an alignment. 56 @end table 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. 81