Allow symbol and label names to be enclosed in double quotes.
[deliverable/binutils-gdb.git] / gas / doc / c-rl78.texi
CommitLineData
b90efa5b 1@c Copyright (C) 2011-2015 Free Software Foundation, Inc.
99c513f6
DD
2@c This is part of the GAS manual.
3@c For copying conditions, see the file as.texinfo.
4@ifset GENERIC
5@page
6@node RL78-Dependent
7@chapter RL78 Dependent Features
8@end ifset
9@ifclear GENERIC
10@node Machine Dependencies
11@chapter RL78 Dependent Features
12@end ifclear
13
14@cindex RL78 support
15@menu
16* RL78-Opts:: RL78 Assembler Command Line Options
17* RL78-Modifiers:: Symbolic Operand Modifiers
18* RL78-Directives:: Assembler Directives
99c513f6
DD
19* RL78-Syntax:: Syntax
20@end menu
21
22@node RL78-Opts
23@section RL78 Options
24@cindex options, RL78
25@cindex RL78 options
26
4046d87a
NC
27@table @code
28@item relax
29Enable support for link-time relaxation.
30
31@item mg10
32Mark the generated binary as targeting the G10 variant of the RL78
33architecture.
34
1740ba0c
NC
35@item mg13
36Mark the generated binary as targeting the G13 variant of the RL78
37architecture.
38
39@item mg14
40@itemx mrl78
41Mark the generated binary as targeting the G14 variant of the RL78
42architecture. This is the default.
43
856ea05c
KP
44@item m32bit-doubles
45Mark the generated binary as one that uses 32-bits to hold the
46@code{double} floating point type. This is the default.
47
48@item m64bit-doubles
49Mark the generated binary as one that uses 64-bits to hold the
50@code{double} floating point type.
51
4046d87a 52@end table
99c513f6
DD
53
54@node RL78-Modifiers
55@section Symbolic Operand Modifiers
56
57@cindex RL78 modifiers
58@cindex syntax, RL78
59
60The RL78 has three modifiers that adjust the relocations used by the
61linker:
62
63@table @code
64
65@item %lo16()
66
67When loading a 20-bit (or wider) address into registers, this modifier
68selects the 16 least significant bits.
69
70@smallexample
71 movw ax,#%lo16(_sym)
72@end smallexample
73
74@item %hi16()
75
76When loading a 20-bit (or wider) address into registers, this modifier
77selects the 16 most significant bits.
78
79@smallexample
80 movw ax,#%hi16(_sym)
81@end smallexample
82
83@item %hi8()
84
85When loading a 20-bit (or wider) address into registers, this modifier
86selects the 8 bits that would go into CS or ES (i.e. bits 23..16).
87
88@smallexample
89 mov es, #%hi8(_sym)
90@end smallexample
91
92@end table
93
94@node RL78-Directives
95@section Assembler Directives
96
97@cindex assembler directives, RL78
98@cindex RL78 assembler directives
99
100In addition to the common directives, the RL78 adds these:
101
102@table @code
103
104@item .double
856ea05c
KP
105Output a constant in ``double'' format, which is either a 32-bit
106or a 64-bit floating point value, depending upon the setting of the
107@option{-m32bit-doubles}|@option{-m64bit-doubles} command line
108option.
99c513f6
DD
109
110@item .bss
111Select the BSS section.
112
113@item .3byte
114Output a constant value in a three byte format.
115
116@item .int
117@itemx .word
118Output a constant value in a four byte format.
119
120@end table
121
122@node RL78-Syntax
123@section Syntax for the RL78
124@menu
125* RL78-Chars:: Special Characters
126@end menu
127
128@node RL78-Chars
129@subsection Special Characters
130
131@cindex line comment character, RL78
132@cindex RL78 line comment character
133The presence of a @samp{;} appearing anywhere on a line indicates the
134start of a comment that extends to the end of that line.
135
136If a @samp{#} appears as the first character of a line then the whole
137line is treated as a comment, but in this case the line can also be a
138logical line number directive (@pxref{Comments}) or a preprocessor
139control command (@pxref{Preprocessing}).
140
141@cindex line separator, RL78
142@cindex statement separator, RL78
143@cindex RL78 line separator
144The @samp{|} character can be used to separate statements on the same
145line.
This page took 0.173816 seconds and 4 git commands to generate.