binutils-gdb/gas/doc/c-xstormy16.texi
Alan Modra fd67aa1129 Update year range in copyright notice of binutils files
Adds two new external authors to etc/update-copyright.py to cover
bfd/ax_tls.m4, and adds gprofng to dirs handled automatically, then
updates copyright messages as follows:

1) Update cgen/utils.scm emitted copyrights.
2) Run "etc/update-copyright.py --this-year" with an extra external
   author I haven't committed, 'Kalray SA.', to cover gas testsuite
   files (which should have their copyright message removed).
3) Build with --enable-maintainer-mode --enable-cgen-maint=yes.
4) Check out */po/*.pot which we don't update frequently.
2024-01-04 22:58:12 +10:30

105 lines
3.1 KiB
Plaintext

@c Copyright (C) 2010-2024 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