aboutsummaryrefslogtreecommitdiff
path: root/gas/doc/c-xstormy16.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gas/doc/c-xstormy16.texi')
-rw-r--r--gas/doc/c-xstormy16.texi104
1 files changed, 104 insertions, 0 deletions
diff --git a/gas/doc/c-xstormy16.texi b/gas/doc/c-xstormy16.texi
new file mode 100644
index 0000000..31ba6f9
--- /dev/null
+++ b/gas/doc/c-xstormy16.texi
@@ -0,0 +1,104 @@
+@c Copyright 2010, 2011 Free Software Foundation, Inc.
+@c This is part of the GAS manual.
+@c For copying conditions, see the file as.texinfo.
+
+@node XSTORMY16-Dependent
+@chapter XStormy16 Dependent Features
+
+@cindex XStormy16 support
+@menu
+* XStormy16 Syntax:: Syntax
+* XStormy16 Directives:: Machine Directives
+* XStormy16 Opcodes:: Pseudo-Opcodes
+@end menu
+
+@node XStormy16 Syntax
+@section Syntax
+@menu
+* XStormy16-Chars:: Special Characters
+@end menu
+
+@node XStormy16-Chars
+@subsection Special Characters
+
+@cindex line comment character, XStormy16
+@cindex XStormy16 line comment character
+@samp{#} is the line comment character. If a @samp{#} appears as the
+first character of a line, the whole line is treated as a comment, but
+in this case the line can also be a logical line number directive
+(@pxref{Comments}) or a preprocessor control command
+(@pxref{Preprocessing}).
+
+@cindex comment character, XStormy16
+@cindex XStormy16 comment character
+A semicolon (@samp{;}) can be used to start a comment that extends
+from wherever the character appears on the line up to the end of the
+line.
+
+@cindex line separator, XStormy16
+@cindex statement separator, XStormy16
+@cindex XStormy16 line separator
+
+The @samp{|} character can be used to separate statements on the same
+line.
+
+
+@node XStormy16 Directives
+@section XStormy16 Machine Directives
+
+@cindex machine directives, XStormy16
+@cindex XStormy16 machine directives
+@table @code
+
+@cindex @code{16bit_pointers} directive, XStormy16
+@item .16bit_pointers
+Like the @option{--16bit-pointers} command line option this directive
+indicates that the assembly code makes use of 16-bit pointers.
+
+@cindex @code{32bit_pointers} directive, XStormy16
+@item .32bit_pointers
+Like the @option{--32bit-pointers} command line option this directive
+indicates that the assembly code makes use of 32-bit pointers.
+
+@cindex @code{.no_pointers} directive, XStormy16
+@item .no_pointers
+Like the @option{--no-pointers} command line option this directive
+indicates that the assembly code does not makes use pointers.
+
+@end table
+
+@node XStormy16 Opcodes
+@section XStormy16 Pseudo-Opcodes
+
+@cindex XStormy16 pseudo-opcodes
+@cindex pseudo-opcodes for XStormy16
+@code{@value{AS}} implements all the standard XStormy16 opcodes.
+
+@code{@value{AS}} also implements the following pseudo ops:
+
+@table @code
+
+@cindex @code{@@lo} pseudo-op, XStormy16
+@item @@lo()
+Computes the lower 16 bits of the given expression and stores it into
+the immediate operand field of the given instruction. For example:
+
+ @samp{add r6, @@lo(here - there)}
+
+computes the difference between the address of labels 'here' and
+'there', takes the lower 16 bits of this difference and adds it to
+register 6.
+
+@cindex @code{@@hi} pseudo-op, XStormy16
+@item @@hi()
+Computes the higher 16 bits of the given expression and stores it into
+the immediate operand field of the given instruction. For example:
+
+ @samp{addc r7, @@hi(here - there)}
+
+computes the difference between the address of labels 'here' and
+'there', takes the upper 16 bits of this difference, shifts it down 16
+bits and then adds it, along with the carry bit, to the value in
+register 7.
+
+@end table