mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
a2c5833233
The result of running etc/update-copyright.py --this-year, fixing all the files whose mode is changed by the script, plus a build with --enable-maintainer-mode --enable-cgen-maint=yes, then checking out */po/*.pot which we don't update frequently. The copy of cgen was with commit d1dd5fcc38ead reverted as that commit breaks building of bfp opcodes files.
149 lines
3.5 KiB
Plaintext
149 lines
3.5 KiB
Plaintext
@c Copyright (C) 2011-2022 Free Software Foundation, Inc.
|
|
@c This is part of the GAS manual.
|
|
@c For copying conditions, see the file as.texinfo.
|
|
@ifset GENERIC
|
|
@page
|
|
@node RL78-Dependent
|
|
@chapter RL78 Dependent Features
|
|
@end ifset
|
|
@ifclear GENERIC
|
|
@node Machine Dependencies
|
|
@chapter RL78 Dependent Features
|
|
@end ifclear
|
|
|
|
@cindex RL78 support
|
|
@menu
|
|
* RL78-Opts:: RL78 Assembler Command-line Options
|
|
* RL78-Modifiers:: Symbolic Operand Modifiers
|
|
* RL78-Directives:: Assembler Directives
|
|
* RL78-Syntax:: Syntax
|
|
@end menu
|
|
|
|
@node RL78-Opts
|
|
@section RL78 Options
|
|
@cindex options, RL78
|
|
@cindex RL78 options
|
|
|
|
@table @code
|
|
@item relax
|
|
Enable support for link-time relaxation.
|
|
|
|
@item norelax
|
|
Disable support for link-time relaxation (default).
|
|
|
|
@item mg10
|
|
Mark the generated binary as targeting the G10 variant of the RL78
|
|
architecture.
|
|
|
|
@item mg13
|
|
Mark the generated binary as targeting the G13 variant of the RL78
|
|
architecture.
|
|
|
|
@item mg14
|
|
@itemx mrl78
|
|
Mark the generated binary as targeting the G14 variant of the RL78
|
|
architecture. This is the default.
|
|
|
|
@item m32bit-doubles
|
|
Mark the generated binary as one that uses 32-bits to hold the
|
|
@code{double} floating point type. This is the default.
|
|
|
|
@item m64bit-doubles
|
|
Mark the generated binary as one that uses 64-bits to hold the
|
|
@code{double} floating point type.
|
|
|
|
@end table
|
|
|
|
@node RL78-Modifiers
|
|
@section Symbolic Operand Modifiers
|
|
|
|
@cindex RL78 modifiers
|
|
@cindex syntax, RL78
|
|
|
|
The RL78 has three modifiers that adjust the relocations used by the
|
|
linker:
|
|
|
|
@table @code
|
|
|
|
@item %lo16()
|
|
|
|
When loading a 20-bit (or wider) address into registers, this modifier
|
|
selects the 16 least significant bits.
|
|
|
|
@smallexample
|
|
movw ax,#%lo16(_sym)
|
|
@end smallexample
|
|
|
|
@item %hi16()
|
|
|
|
When loading a 20-bit (or wider) address into registers, this modifier
|
|
selects the 16 most significant bits.
|
|
|
|
@smallexample
|
|
movw ax,#%hi16(_sym)
|
|
@end smallexample
|
|
|
|
@item %hi8()
|
|
|
|
When loading a 20-bit (or wider) address into registers, this modifier
|
|
selects the 8 bits that would go into CS or ES (i.e. bits 23..16).
|
|
|
|
@smallexample
|
|
mov es, #%hi8(_sym)
|
|
@end smallexample
|
|
|
|
@end table
|
|
|
|
@node RL78-Directives
|
|
@section Assembler Directives
|
|
|
|
@cindex assembler directives, RL78
|
|
@cindex RL78 assembler directives
|
|
|
|
In addition to the common directives, the RL78 adds these:
|
|
|
|
@table @code
|
|
|
|
@item .double
|
|
Output a constant in ``double'' format, which is either a 32-bit
|
|
or a 64-bit floating point value, depending upon the setting of the
|
|
@option{-m32bit-doubles}|@option{-m64bit-doubles} command-line
|
|
option.
|
|
|
|
@item .bss
|
|
Select the BSS section.
|
|
|
|
@item .3byte
|
|
Output a constant value in a three byte format.
|
|
|
|
@item .int
|
|
@itemx .word
|
|
Output a constant value in a four byte format.
|
|
|
|
@end table
|
|
|
|
@node RL78-Syntax
|
|
@section Syntax for the RL78
|
|
@menu
|
|
* RL78-Chars:: Special Characters
|
|
@end menu
|
|
|
|
@node RL78-Chars
|
|
@subsection Special Characters
|
|
|
|
@cindex line comment character, RL78
|
|
@cindex RL78 line comment character
|
|
The presence of a @samp{;} appearing anywhere on a line indicates the
|
|
start of a comment that extends to the end of that line.
|
|
|
|
If a @samp{#} appears as the first character of a line then the whole
|
|
line is treated as a comment, but in this case the line can also be a
|
|
logical line number directive (@pxref{Comments}) or a preprocessor
|
|
control command (@pxref{Preprocessing}).
|
|
|
|
@cindex line separator, RL78
|
|
@cindex statement separator, RL78
|
|
@cindex RL78 line separator
|
|
The @samp{|} character can be used to separate statements on the same
|
|
line.
|