binutils-gdb/gas/doc/c-rl78.texi
Nick Clifton 1740ba0cec Add support for G13 and G14 flag bits in RL78 ELF binaries.
inc	* rl78.h (E_FLAG_RL78_G10): Redefine.
	(E_FLAG_RL78_CPU_MASK, E_FLAG_RL78_ANY_CPU, E_FLAG_RL78_G13
	E_FLAG_RL78_G14): New flags.

bin	* readelf.c (get_machine_flags): Decode RL78's G13 and G14 flags.

gas	* config/tc-rl78.c (enum options): Add G13 and G14.
	(md_longopts): Add -mg13 and -mg14.
	(md_parse_option): Handle -mg13 and -mg14.
	(md_show_usage): List -mg13 and -mg14.
	* doc/c-rl78.texi: Add description of -mg13 and -mg14 options.

bfd	* elf32-rl78.c (rl78_cpu_name): New function.  Prints the name of
	the RL78 core based upon the flags.
	(rl78_elf_merge_private_bfd_data): Handle merging of G13 and G14
	flags.
	(rl78_elf_print_private_bfd_data): Use rl78_cpu_name.
	(elf32_rl78_machine): Always return bfd_mach_rl78.
2015-03-19 15:37:43 +00:00

146 lines
3.4 KiB
Plaintext

@c Copyright (C) 2011-2015 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.
@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.