Home | History | Annotate | Download | only in doc
      1 @c Copyright (C) 2006-2016 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