| @c Copyright 2008, 2009 |
| @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 |
| @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 |