@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.