Commit | Line | Data |
---|---|---|
7c31ae13 | 1 | @c Copyright 2008, 2009, 2011 |
c7927a3c NC |
2 | @c Free Software Foundation, Inc. |
3 | @c This is part of the GAS manual. | |
4 | @c For copying conditions, see the file as.texinfo. | |
5 | @ifset GENERIC | |
6 | @page | |
7 | @node RX-Dependent | |
8 | @chapter RX Dependent Features | |
9 | @end ifset | |
10 | @ifclear GENERIC | |
11 | @node Machine Dependencies | |
12 | @chapter RX Dependent Features | |
13 | @end ifclear | |
14 | ||
15 | @cindex RX support | |
16 | @menu | |
17 | * RX-Opts:: RX Assembler Command Line Options | |
18 | * RX-Modifiers:: Symbolic Operand Modifiers | |
19 | * RX-Directives:: Assembler Directives | |
20 | * RX-Float:: Floating Point | |
7c31ae13 | 21 | * RX-Syntax:: Syntax |
c7927a3c NC |
22 | @end menu |
23 | ||
24 | @node RX-Opts | |
25 | @section RX Options | |
26 | @cindex options, RX | |
27 | @cindex RX options | |
28 | ||
29 | The Renesas RX port of @code{@value{AS}} has a few target specfic | |
30 | command line options: | |
31 | ||
32 | @table @code | |
33 | ||
34 | @cindex @samp{-m32bit-doubles} | |
35 | @item -m32bit-doubles | |
36 | This option controls the ABI and indicates to use a 32-bit float ABI. | |
37 | It has no effect on the assembled instructions, but it does influence | |
38 | the behaviour of the @samp{.double} pseudo-op. | |
39 | This is the default. | |
40 | ||
41 | @cindex @samp{-m64bit-doubles} | |
42 | @item -m64bit-doubles | |
43 | This option controls the ABI and indicates to use a 64-bit float ABI. | |
44 | It has no effect on the assembled instructions, but it does influence | |
45 | the behaviour of the @samp{.double} pseudo-op. | |
46 | ||
47 | @cindex @samp{-mbig-endian} | |
48 | @item -mbig-endian | |
49 | This option controls the ABI and indicates to use a big-endian data | |
50 | ABI. It has no effect on the assembled instructions, but it does | |
51 | influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int}, | |
52 | @samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops. | |
53 | ||
54 | @cindex @samp{-mlittle-endian} | |
55 | @item -mlittle-endian | |
56 | This option controls the ABI and indicates to use a little-endian data | |
57 | ABI. It has no effect on the assembled instructions, but it does | |
58 | influence the behaviour of the @samp{.short}, @samp{.hword}, @samp{.int}, | |
59 | @samp{.word}, @samp{.long}, @samp{.quad} and @samp{.octa} pseudo-ops. | |
60 | This is the default. | |
61 | ||
62 | @cindex @samp{-muse-conventional-section-names} | |
63 | @item -muse-conventional-section-names | |
64 | This option controls the default names given to the code (.text), | |
65 | initialised data (.data) and uninitialised data sections (.bss). | |
66 | ||
67 | @cindex @samp{-muse-renesas-section-names} | |
68 | @item -muse-renesas-section-names | |
69 | This option controls the default names given to the code (.P), | |
70 | initialised data (.D_1) and uninitialised data sections (.B_1). | |
71 | This is the default. | |
72 | ||
73 | @cindex @samp{-msmall-data-limit} | |
74 | @item -msmall-data-limit | |
75 | This option tells the assembler that the small data limit feature of | |
76 | the RX port of GCC is being used. This results in the assembler | |
77 | generating an undefined reference to a symbol called __gp for use by | |
78 | the relocations that are needed to support the small data limit | |
79 | feature. This option is not enabled by default as it would otherwise | |
80 | pollute the symbol table. | |
81 | ||
82 | @end table | |
83 | ||
84 | @node RX-Modifiers | |
85 | @section Symbolic Operand Modifiers | |
86 | ||
87 | @cindex RX modifiers | |
88 | @cindex syntax, RX | |
89 | ||
90 | The assembler supports several modifiers when using symbol addresses | |
91 | in RX instruction operands. The general syntax is the following: | |
92 | ||
93 | @smallexample | |
94 | %modifier(symbol) | |
95 | @end smallexample | |
96 | ||
97 | @table @code | |
98 | @cindex symbol modifiers | |
99 | ||
100 | @item %gp | |
101 | @c FIXME: Add documentation here. | |
102 | ||
103 | @end table | |
104 | ||
105 | @node RX-Directives | |
106 | @section Assembler Directives | |
107 | ||
108 | @cindex assembler directives, RX | |
109 | @cindex RX assembler directives | |
110 | ||
111 | The RX version of @code{@value{AS}} has the following specific | |
112 | assembler directives: | |
113 | ||
114 | @table @code | |
115 | ||
116 | @item .3byte | |
117 | @cindex assembler directive .3byte, RX | |
118 | @cindex RX assembler directive .3byte | |
119 | Inserts a 3-byte value into the output file at the current location. | |
120 | ||
121 | @end table | |
122 | ||
123 | @node RX-Float | |
124 | @section Floating Point | |
125 | ||
126 | @cindex floating point, RX | |
127 | @cindex RX floating point | |
128 | ||
129 | The floating point formats generated by directives are these. | |
130 | ||
131 | @table @code | |
132 | @cindex @code{float} directive, RX | |
133 | ||
134 | @item .float | |
135 | @code{Single} precision (32-bit) floating point constants. | |
136 | ||
137 | @cindex @code{double} directive, RX | |
138 | @item .double | |
139 | If the @option{-m64bit-doubles} command line option has been specified | |
140 | then then @code{double} directive generates @code{double} precision | |
141 | (64-bit) floating point constants, otherwise it generates | |
142 | @code{single} precision (32-bit) floating point constants. To force | |
143 | the generation of 64-bit floating point constants used the @code{dc.d} | |
144 | directive instead. | |
145 | ||
146 | @end table | |
7c31ae13 NC |
147 | |
148 | @node RX-Syntax | |
149 | @section Syntax for the RX | |
150 | @menu | |
151 | * RX-Chars:: Special Characters | |
152 | @end menu | |
153 | ||
154 | @node RX-Chars | |
155 | @subsection Special Characters | |
156 | ||
157 | @cindex line comment character, RX | |
158 | @cindex RX line comment character | |
159 | The presence of a @samp{;} appearing anywhere on a line indicates the | |
160 | start of a comment that extends to the end of that line. | |
161 | ||
162 | If a @samp{#} appears as the first character of a line then the whole | |
163 | line is treated as a comment, but in this case the line can also be a | |
164 | logical line number directive (@pxref{Comments}) or a preprocessor | |
165 | control command (@pxref{Preprocessing}). | |
166 | ||
167 | @cindex line separator, RX | |
168 | @cindex statement separator, RX | |
169 | @cindex RX line separator | |
170 | The @samp{!} character can be used to separate statements on the same | |
171 | line. |