1 @c Copyright (C) 2010-2019 Free Software Foundation, Inc.
2 @c This is part of the GAS manual.
3 @c For copying conditions, see the file as.texinfo.
5 @node XSTORMY16-Dependent
6 @chapter XStormy16 Dependent Features
8 @cindex XStormy16 support
10 * XStormy16 Syntax:: Syntax
11 * XStormy16 Directives:: Machine Directives
12 * XStormy16 Opcodes:: Pseudo-Opcodes
15 @node XStormy16 Syntax
18 * XStormy16-Chars:: Special Characters
22 @subsection Special Characters
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}).
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
38 @cindex line separator, XStormy16
39 @cindex statement separator, XStormy16
40 @cindex XStormy16 line separator
42 The @samp{|} character can be used to separate statements on the same
46 @node XStormy16 Directives
47 @section XStormy16 Machine Directives
49 @cindex machine directives, XStormy16
50 @cindex XStormy16 machine directives
53 @cindex @code{16bit_pointers} directive, XStormy16
55 Like the @option{--16bit-pointers} command-line option this directive
56 indicates that the assembly code makes use of 16-bit pointers.
58 @cindex @code{32bit_pointers} directive, XStormy16
60 Like the @option{--32bit-pointers} command-line option this directive
61 indicates that the assembly code makes use of 32-bit pointers.
63 @cindex @code{.no_pointers} directive, XStormy16
65 Like the @option{--no-pointers} command-line option this directive
66 indicates that the assembly code does not makes use pointers.
70 @node XStormy16 Opcodes
71 @section XStormy16 Pseudo-Opcodes
73 @cindex XStormy16 pseudo-opcodes
74 @cindex pseudo-opcodes for XStormy16
75 @code{@value{AS}} implements all the standard XStormy16 opcodes.
77 @code{@value{AS}} also implements the following pseudo ops:
81 @cindex @code{@@lo} pseudo-op, XStormy16
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:
86 @samp{add r6, @@lo(here - there)}
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
92 @cindex @code{@@hi} pseudo-op, XStormy16
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:
97 @samp{addc r7, @@hi(here - there)}
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