mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
4046d87a36
flag bits do not match. (rl78_elf_print_private_bfd_data): Describe G10 flag. * readelf.c (get_machine_flags): Handle RL78 G10 flag. * config/tc-rl78.c (elf_flags): New variable. (enum options): Add OPTION_G10. (md_longopts): Add mg10. (md_parse_option): Parse -mg10. (rl78_elf_final_processing): New function. * config/tc-rl78.c (tc_final_processing): Define. * doc/c-rl78.texi: Document -mg10 option. * rl78.c (E_FLAG_RL78_G10): Define. * lib/ld-lib.exp (check_shared_lib_support): Note that the RL78 does not support shared library generation.
127 lines
2.8 KiB
Plaintext
127 lines
2.8 KiB
Plaintext
@c Copyright 2011-2013 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 mg10
|
|
Mark the generated binary as targeting the G10 variant of the RL78
|
|
architecture.
|
|
|
|
@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 a 32-bit floating
|
|
point value on RL78.
|
|
|
|
@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.
|