172 lines
5.0 KiB
Plaintext
172 lines
5.0 KiB
Plaintext
@c Copyright 2008, 2009, 2011
|
|
@c Free Software Foundation, Inc.
|
|
@c This is part of the GAS manual.
|
|
@c For copying conditions, see the file as.texinfo.
|
|
@ifset GENERIC
|
|
@page
|
|
@node RX-Dependent
|
|
@chapter RX Dependent Features
|
|
@end ifset
|
|
@ifclear GENERIC
|
|
@node Machine Dependencies
|
|
@chapter RX Dependent Features
|
|
@end ifclear
|
|
|
|
@cindex RX support
|
|
@menu
|
|
* RX-Opts:: RX Assembler Command Line Options
|
|
* RX-Modifiers:: Symbolic Operand Modifiers
|
|
* RX-Directives:: Assembler Directives
|
|
* RX-Float:: Floating Point
|
|
* RX-Syntax:: Syntax
|
|
@end menu
|
|
|
|
@node RX-Opts
|
|
@section RX Options
|
|
@cindex options, RX
|
|
@cindex RX options
|
|
|
|
The Renesas RX port of @code{@value{AS}} has a few target specfic
|
|
command line options:
|
|
|
|
@table @code
|
|
|
|
@cindex @samp{-m32bit-doubles}
|
|
@item -m32bit-doubles
|
|
This option controls the ABI and indicates to use a 32-bit float ABI.
|
|
It has no effect on the assembled instructions, but it does influence
|
|
the behaviour of the @samp{.double} pseudo-op.
|
|
This is the default.
|
|
|
|
@cindex @samp{-m64bit-doubles}
|
|
@item -m64bit-doubles
|
|
This option controls the ABI and indicates to use a 64-bit float ABI.
|
|
It has no effect on the assembled instructions, but it does influence
|
|
the behaviour of the @samp{.double} pseudo-op.
|
|
|
|
@cindex @samp{-mbig-endian}
|
|
@item -mbig-endian
|
|
This option controls the ABI and indicates to use a big-endian data
|
|
ABI. It has no effect on the assembled instructions, but it does
|
|
influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int},
|
|
@samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
|
|
|
|
@cindex @samp{-mlittle-endian}
|
|
@item -mlittle-endian
|
|
This option controls the ABI and indicates to use a little-endian data
|
|
ABI. It has no effect on the assembled instructions, but it does
|
|
influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int},
|
|
@samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops.
|
|
This is the default.
|
|
|
|
@cindex @samp{-muse-conventional-section-names}
|
|
@item -muse-conventional-section-names
|
|
This option controls the default names given to the code (.text),
|
|
initialised data (.data) and uninitialised data sections (.bss).
|
|
|
|
@cindex @samp{-muse-renesas-section-names}
|
|
@item -muse-renesas-section-names
|
|
This option controls the default names given to the code (.P),
|
|
initialised data (.D_1) and uninitialised data sections (.B_1).
|
|
This is the default.
|
|
|
|
@cindex @samp{-msmall-data-limit}
|
|
@item -msmall-data-limit
|
|
This option tells the assembler that the small data limit feature of
|
|
the RX port of GCC is being used. This results in the assembler
|
|
generating an undefined reference to a symbol called __gp for use by
|
|
the relocations that are needed to support the small data limit
|
|
feature. This option is not enabled by default as it would otherwise
|
|
pollute the symbol table.
|
|
|
|
@end table
|
|
|
|
@node RX-Modifiers
|
|
@section Symbolic Operand Modifiers
|
|
|
|
@cindex RX modifiers
|
|
@cindex syntax, RX
|
|
|
|
The assembler supports several modifiers when using symbol addresses
|
|
in RX instruction operands. The general syntax is the following:
|
|
|
|
@smallexample
|
|
%modifier(symbol)
|
|
@end smallexample
|
|
|
|
@table @code
|
|
@cindex symbol modifiers
|
|
|
|
@item %gp
|
|
@c FIXME: Add documentation here.
|
|
|
|
@end table
|
|
|
|
@node RX-Directives
|
|
@section Assembler Directives
|
|
|
|
@cindex assembler directives, RX
|
|
@cindex RX assembler directives
|
|
|
|
The RX version of @code{@value{AS}} has the following specific
|
|
assembler directives:
|
|
|
|
@table @code
|
|
|
|
@item .3byte
|
|
@cindex assembler directive .3byte, RX
|
|
@cindex RX assembler directive .3byte
|
|
Inserts a 3-byte value into the output file at the current location.
|
|
|
|
@end table
|
|
|
|
@node RX-Float
|
|
@section Floating Point
|
|
|
|
@cindex floating point, RX
|
|
@cindex RX floating point
|
|
|
|
The floating point formats generated by directives are these.
|
|
|
|
@table @code
|
|
@cindex @code{float} directive, RX
|
|
|
|
@item .float
|
|
@code{Single} precision (32-bit) floating point constants.
|
|
|
|
@cindex @code{double} directive, RX
|
|
@item .double
|
|
If the @option{-m64bit-doubles} command line option has been specified
|
|
then then @code{double} directive generates @code{double} precision
|
|
(64-bit) floating point constants, otherwise it generates
|
|
@code{single} precision (32-bit) floating point constants. To force
|
|
the generation of 64-bit floating point constants used the @code{dc.d}
|
|
directive instead.
|
|
|
|
@end table
|
|
|
|
@node RX-Syntax
|
|
@section Syntax for the RX
|
|
@menu
|
|
* RX-Chars:: Special Characters
|
|
@end menu
|
|
|
|
@node RX-Chars
|
|
@subsection Special Characters
|
|
|
|
@cindex line comment character, RX
|
|
@cindex RX line comment character
|
|
The presence of a @samp{;} appearing anywhere on a line indicates the
|
|
start of a comment that extends to the end of that line.
|
|
|
|
If a @samp{#} appears as the first character of a line then 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 line separator, RX
|
|
@cindex statement separator, RX
|
|
@cindex RX line separator
|
|
The @samp{!} character can be used to separate statements on the same
|
|
line.
|