Commit | Line | Data |
---|---|---|
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 | ||
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. |