~ubuntu-branches/ubuntu/utopic/binutils-arm64-cross/utopic

« back to all changes in this revision

Viewing changes to binutils-2.23.52.20130611/gas/doc/c-rl78.texi

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-06-20 17:38:09 UTC
  • Revision ID: package-import@ubuntu.com-20130620173809-app8lzgvymy5fg6c
Tags: 0.7
Build-depend on binutils-source (>= 2.23.52.20130620-1~).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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.