bfd:
[binutils.git] / gas / doc / c-rl78.texi
blob44ede4710cc090ba5041528b4917c4e9c2980be1
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
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
20 * RL78-Syntax::                 Syntax
21 @end menu
23 @node RL78-Opts
24 @section RL78 Options
25 @cindex options, RL78
26 @cindex RL78 options
28 The Renesas RL78 port of @code{@value{AS}} has no target-specific
29 options.
31 @node RL78-Modifiers
32 @section Symbolic Operand Modifiers
34 @cindex RL78 modifiers
35 @cindex syntax, RL78
37 The RL78 has three modifiers that adjust the relocations used by the
38 linker:
40 @table @code
42 @item %lo16()
44 When loading a 20-bit (or wider) address into registers, this modifier
45 selects the 16 least significant bits.
47 @smallexample
48   movw ax,#%lo16(_sym)
49 @end smallexample
51 @item %hi16()
53 When loading a 20-bit (or wider) address into registers, this modifier
54 selects the 16 most significant bits.
56 @smallexample
57   movw ax,#%hi16(_sym)
58 @end smallexample
60 @item %hi8()
62 When loading a 20-bit (or wider) address into registers, this modifier
63 selects the 8 bits that would go into CS or ES (i.e. bits 23..16).
65 @smallexample
66   mov es, #%hi8(_sym)
67 @end smallexample
69 @end table
71 @node RL78-Directives
72 @section Assembler Directives
74 @cindex assembler directives, RL78
75 @cindex RL78 assembler directives
77 In addition to the common directives, the RL78 adds these:
79 @table @code
81 @item .double
82 Output a constant in ``double'' format, which is a 32-bit floating
83 point value on RL78.
85 @item .bss
86 Select the BSS section.
88 @item .3byte
89 Output a constant value in a three byte format.
91 @item .int
92 @itemx .word
93 Output a constant value in a four byte format.
95 @end table
97 @node RL78-Syntax
98 @section Syntax for the RL78
99 @menu
100 * RL78-Chars::                Special Characters
101 @end menu
103 @node RL78-Chars
104 @subsection Special Characters
106 @cindex line comment character, RL78
107 @cindex RL78 line comment character
108 The presence of a @samp{;} appearing anywhere on a line indicates the
109 start of a comment that extends to the end of that line.
111 If a @samp{#} appears as the first character of a line then the whole
112 line is treated as a comment, but in this case the line can also be a
113 logical line number directive (@pxref{Comments}) or a preprocessor
114 control command (@pxref{Preprocessing}).
116 @cindex line separator, RL78
117 @cindex statement separator, RL78
118 @cindex RL78 line separator
119 The @samp{|} character can be used to separate statements on the same
120 line.