]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/doc/c-rl78.texi
gdb/
[thirdparty/binutils-gdb.git] / gas / doc / c-rl78.texi
CommitLineData
99c513f6
DD
1@c Copyright 2011
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 RL78-Dependent
8@chapter RL78 Dependent Features
9@end ifset
10@ifclear GENERIC
11@node Machine Dependencies
12@chapter RL78 Dependent Features
13@end ifclear
14
15@cindex RL78 support
16@menu
17* RL78-Opts:: RL78 Assembler Command Line Options
18* RL78-Modifiers:: Symbolic Operand Modifiers
19* RL78-Directives:: Assembler Directives
99c513f6
DD
20* RL78-Syntax:: Syntax
21@end menu
22
23@node RL78-Opts
24@section RL78 Options
25@cindex options, RL78
26@cindex RL78 options
27
28The Renesas RL78 port of @code{@value{AS}} has no target-specific
29options.
30
31@node RL78-Modifiers
32@section Symbolic Operand Modifiers
33
34@cindex RL78 modifiers
35@cindex syntax, RL78
36
37The RL78 has three modifiers that adjust the relocations used by the
38linker:
39
40@table @code
41
42@item %lo16()
43
44When loading a 20-bit (or wider) address into registers, this modifier
45selects the 16 least significant bits.
46
47@smallexample
48 movw ax,#%lo16(_sym)
49@end smallexample
50
51@item %hi16()
52
53When loading a 20-bit (or wider) address into registers, this modifier
54selects the 16 most significant bits.
55
56@smallexample
57 movw ax,#%hi16(_sym)
58@end smallexample
59
60@item %hi8()
61
62When loading a 20-bit (or wider) address into registers, this modifier
63selects the 8 bits that would go into CS or ES (i.e. bits 23..16).
64
65@smallexample
66 mov es, #%hi8(_sym)
67@end smallexample
68
69@end table
70
71@node RL78-Directives
72@section Assembler Directives
73
74@cindex assembler directives, RL78
75@cindex RL78 assembler directives
76
77In addition to the common directives, the RL78 adds these:
78
79@table @code
80
81@item .double
82Output a constant in ``double'' format, which is a 32-bit floating
83point value on RL78.
84
85@item .bss
86Select the BSS section.
87
88@item .3byte
89Output a constant value in a three byte format.
90
91@item .int
92@itemx .word
93Output a constant value in a four byte format.
94
95@end table
96
97@node RL78-Syntax
98@section Syntax for the RL78
99@menu
100* RL78-Chars:: Special Characters
101@end menu
102
103@node RL78-Chars
104@subsection Special Characters
105
106@cindex line comment character, RL78
107@cindex RL78 line comment character
108The presence of a @samp{;} appearing anywhere on a line indicates the
109start of a comment that extends to the end of that line.
110
111If a @samp{#} appears as the first character of a line then the whole
112line is treated as a comment, but in this case the line can also be a
113logical line number directive (@pxref{Comments}) or a preprocessor
114control command (@pxref{Preprocessing}).
115
116@cindex line separator, RL78
117@cindex statement separator, RL78
118@cindex RL78 line separator
119The @samp{|} character can be used to separate statements on the same
120line.