1 @c Copyright (C) 2010-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 @node XSTORMY16-Dependent 6 @chapter XStormy16 Dependent Features 7 8 @cindex XStormy16 support 9 @menu 10 * XStormy16 Syntax:: Syntax 11 * XStormy16 Directives:: Machine Directives 12 * XStormy16 Opcodes:: Pseudo-Opcodes 13 @end menu 14 15 @node XStormy16 Syntax 16 @section Syntax 17 @menu 18 * XStormy16-Chars:: Special Characters 19 @end menu 20 21 @node XStormy16-Chars 22 @subsection Special Characters 23 24 @cindex line comment character, XStormy16 25 @cindex XStormy16 line comment character 26 @samp{#} is the line comment character. If a @samp{#} appears as the 27 first character of a line, the whole line is treated as a comment, but 28 in this case the line can also be a logical line number directive 29 (@pxref{Comments}) or a preprocessor control command 30 (@pxref{Preprocessing}). 31 32 @cindex comment character, XStormy16 33 @cindex XStormy16 comment character 34 A semicolon (@samp{;}) can be used to start a comment that extends 35 from wherever the character appears on the line up to the end of the 36 line. 37 38 @cindex line separator, XStormy16 39 @cindex statement separator, XStormy16 40 @cindex XStormy16 line separator 41 42 The @samp{|} character can be used to separate statements on the same 43 line. 44 45 46 @node XStormy16 Directives 47 @section XStormy16 Machine Directives 48 49 @cindex machine directives, XStormy16 50 @cindex XStormy16 machine directives 51 @table @code 52 53 @cindex @code{16bit_pointers} directive, XStormy16 54 @item .16bit_pointers 55 Like the @option{--16bit-pointers} command line option this directive 56 indicates that the assembly code makes use of 16-bit pointers. 57 58 @cindex @code{32bit_pointers} directive, XStormy16 59 @item .32bit_pointers 60 Like the @option{--32bit-pointers} command line option this directive 61 indicates that the assembly code makes use of 32-bit pointers. 62 63 @cindex @code{.no_pointers} directive, XStormy16 64 @item .no_pointers 65 Like the @option{--no-pointers} command line option this directive 66 indicates that the assembly code does not makes use pointers. 67 68 @end table 69 70 @node XStormy16 Opcodes 71 @section XStormy16 Pseudo-Opcodes 72 73 @cindex XStormy16 pseudo-opcodes 74 @cindex pseudo-opcodes for XStormy16 75 @code{@value{AS}} implements all the standard XStormy16 opcodes. 76 77 @code{@value{AS}} also implements the following pseudo ops: 78 79 @table @code 80 81 @cindex @code{@@lo} pseudo-op, XStormy16 82 @item @@lo() 83 Computes the lower 16 bits of the given expression and stores it into 84 the immediate operand field of the given instruction. For example: 85 86 @samp{add r6, @@lo(here - there)} 87 88 computes the difference between the address of labels 'here' and 89 'there', takes the lower 16 bits of this difference and adds it to 90 register 6. 91 92 @cindex @code{@@hi} pseudo-op, XStormy16 93 @item @@hi() 94 Computes the higher 16 bits of the given expression and stores it into 95 the immediate operand field of the given instruction. For example: 96 97 @samp{addc r7, @@hi(here - there)} 98 99 computes the difference between the address of labels 'here' and 100 'there', takes the upper 16 bits of this difference, shifts it down 16 101 bits and then adds it, along with the carry bit, to the value in 102 register 7. 103 104 @end table 105