* configure.ac (mips*-*-bsd*, mips*-*-ultrix*, mips*-*-osf*)
[external/binutils.git] / gas / doc / c-rl78.texi
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
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
28 The Renesas RL78 port of @code{@value{AS}} has no target-specific
29 options.
30
31 @node RL78-Modifiers
32 @section Symbolic Operand Modifiers
33
34 @cindex RL78 modifiers
35 @cindex syntax, RL78
36
37 The RL78 has three modifiers that adjust the relocations used by the
38 linker:
39
40 @table @code
41
42 @item %lo16()
43
44 When loading a 20-bit (or wider) address into registers, this modifier
45 selects the 16 least significant bits.
46
47 @smallexample
48   movw ax,#%lo16(_sym)
49 @end smallexample
50
51 @item %hi16()
52
53 When loading a 20-bit (or wider) address into registers, this modifier
54 selects the 16 most significant bits.
55
56 @smallexample
57   movw ax,#%hi16(_sym)
58 @end smallexample
59
60 @item %hi8()
61
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).
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
77 In addition to the common directives, the RL78 adds these:
78
79 @table @code
80
81 @item .double
82 Output a constant in ``double'' format, which is a 32-bit floating
83 point value on RL78.
84
85 @item .bss
86 Select the BSS section.
87
88 @item .3byte
89 Output a constant value in a three byte format.
90
91 @item .int
92 @itemx .word
93 Output 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
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.
110
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}).
115
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.