old-cross-binutils/gas/doc/c-rl78.texi
DJ Delorie 99c513f6ac [.]
* configure.ac (rl78-*-*) New case.
	* configure: Regenerate.

[bfd]
	* Makefile.am (ALL_MACHINES): Add cpu-rl78.lo.
	(ALL_MACHINES_CFILES): Add cpu-rl78.c.
	(BFD32_BACKENDS): Add elf32-rl78.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-rl78.c.
	(Makefile.in): Regenerate.
	* archures.c (bfd_architecture): Define bfd_arch_rl78.
	(bfd_archures_list): Add bfd_rl78_arch.
	* config.bfd: Add rl78-*-elf.
	* configure.in: Add bfd_elf32_rl78_vec.
	* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_RL78_* relocations.
	* targets.c (bfd_target_vector): Add bfd_elf32_rl78_vec.
	* Makefile.in: Regenerate.
	* bfd-in2.h: Regenerate.
	* configure: Regenerate.
	* libbfd.h: Regenerate.
	* cpu-rl78.c: New file.
	* elf32-rl78.c: New file.

[binutils]
	* readelf.c: Include elf/rl78.h
	(guess_is_rela): Handle EM_RL78.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(is_32bit_abs_reloc): Likewise.
	* NEWS: Mention addition of RL78 support.
	* MAINTAINERS: Add myself as RL78 port maintainer.

[gas]
	* Makefile.am (TARGET_CPU_CFILES): Add tc-rl78.c.
	(TARGET_CPU_HFILES): Add rc-rl78.h.
	(EXTRA_DIST): Add rl78-parse.c and rl78-parse.y.
	(rl78-parse.c, rl78-parse.h, rl78-parse.o, rl78-defs.h): New rules.
	* Makefile.in: Regenerate.
	* configure.in: Add rl78 case.
	* configure: Regenerate.
	* configure.tgt: Add rl78 case.
	* config/rl78-defs.h: New file.
	* config/rl78-parse.y: New file.
	* config/tc-rl78.c: New file.
	* config/tc-rl78.h: New file.
	* NEWS: Add Renesas RL78.

	* doc/Makefile.am (c-rl78.texi): New.
	* doc/Makefile.in: Likewise.
	* doc/all.texi: Enable it.
	* doc/as.texi: Add it.

[include]
	* dis-asm.h (print_insn_rl78): Declare.

[include/elf]
	* common.h (EM_RL78, EM_78K0R): New.
	* rl78.h: New.

[include/opcode]
	* rl78.h: New file.

[ld]
	* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32rl78.c.
	(+eelf32rl78.c): New rule.
	* Makefile.in: Regenerate.
	* configure.tgt: Add rl78-*-* case.
	* emulparams/elf32rl78.sh: New file.
	* NEWS: Mention addition of Renesas RL78 support.

[opcodes]
	* Makefile.am (TARGET_LIBOPCODES_CFILES): Add rl78-decode.c and
	rl78-dis.c.
	(MAINTAINERCLEANFILES): Add rl78-decode.c.
	(rl78-decode.c): New rule, built from rl78-decode.opc and opc2c.
	* Makefile.in: Regenerate.
	* configure.in: Add bfd_rl78_arch case.
	* configure: Regenerate.
	* disassemble.c: Define ARCH_rl78.
	(disassembler): Add ARCH_rl78 case.
	* rl78-decode.c: New file.
	* rl78-decode.opc: New file.
	* rl78-dis.c: New file.
2011-11-02 03:09:11 +00:00

121 lines
2.8 KiB
Text

@c Copyright 2011
@c 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-Float:: Floating Point
* RL78-Syntax:: Syntax
@end menu
@node RL78-Opts
@section RL78 Options
@cindex options, RL78
@cindex RL78 options
The Renesas RL78 port of @code{@value{AS}} has no target-specific
options.
@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.