diff options
author | cvs2svn <> | 2013-03-23 03:16:41 +0400 |
---|---|---|
committer | cvs2svn <> | 2013-03-23 03:16:41 +0400 |
commit | 95e3534385bee5d33e829249a939c2e916b05cb5 (patch) | |
tree | 6fe562b457534fd9ec98a1754c8e9e0712df7108 /include/opcode/rl78.h | |
parent | 3e52e50c027acada72e4a98451f1dda1b7566029 (diff) |
This commit was manufactured by cvs2svn to create tag 'cgen-cgen-snapshot-20130401
snapshot-20130401'.
Sprout from gdb_7_6-branch 2013-03-12 19:18:58 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'gdb_7_6-branch'.'
Cherrypick from master 2013-03-22 23:16:40 UTC Michael Frysinger <vapier@gentoo.org> 'src-release: fix version look up for bfd based projects':
ChangeLog
src-release
Delete:
djunpack.bat
include/COPYING
include/COPYING3
include/ChangeLog
include/ChangeLog-9103
include/MAINTAINERS
include/alloca-conf.h
include/ansidecl.h
include/aout/ChangeLog
include/aout/adobe.h
include/aout/aout64.h
include/aout/ar.h
include/aout/dynix3.h
include/aout/encap.h
include/aout/host.h
include/aout/hp.h
include/aout/hp300hpux.h
include/aout/hppa.h
include/aout/ranlib.h
include/aout/reloc.h
include/aout/stab.def
include/aout/stab_gnu.h
include/aout/sun4.h
include/bfdlink.h
include/binary-io.h
include/bout.h
include/cgen/ChangeLog
include/cgen/basic-modes.h
include/cgen/basic-ops.h
include/cgen/bitset.h
include/coff/ChangeLog
include/coff/ChangeLog-9103
include/coff/alpha.h
include/coff/apollo.h
include/coff/arm.h
include/coff/aux-coff.h
include/coff/ecoff.h
include/coff/external.h
include/coff/go32exe.h
include/coff/h8300.h
include/coff/h8500.h
include/coff/i386.h
include/coff/i860.h
include/coff/i960.h
include/coff/ia64.h
include/coff/internal.h
include/coff/m68k.h
include/coff/m88k.h
include/coff/mcore.h
include/coff/mips.h
include/coff/mipspe.h
include/coff/or32.h
include/coff/pe.h
include/coff/powerpc.h
include/coff/rs6000.h
include/coff/rs6k64.h
include/coff/sh.h
include/coff/sparc.h
include/coff/sym.h
include/coff/symconst.h
include/coff/ti.h
include/coff/tic30.h
include/coff/tic4x.h
include/coff/tic54x.h
include/coff/tic80.h
include/coff/w65.h
include/coff/we32k.h
include/coff/x86_64.h
include/coff/xcoff.h
include/coff/z80.h
include/coff/z8k.h
include/demangle.h
include/dis-asm.h
include/dwarf2.def
include/dwarf2.h
include/dyn-string.h
include/elf/ChangeLog
include/elf/ChangeLog-9103
include/elf/aarch64.h
include/elf/alpha.h
include/elf/arc.h
include/elf/arm.h
include/elf/avr.h
include/elf/bfin.h
include/elf/common.h
include/elf/cr16.h
include/elf/cr16c.h
include/elf/cris.h
include/elf/crx.h
include/elf/d10v.h
include/elf/d30v.h
include/elf/dlx.h
include/elf/dwarf.h
include/elf/epiphany.h
include/elf/external.h
include/elf/fr30.h
include/elf/frv.h
include/elf/h8.h
include/elf/hppa.h
include/elf/i370.h
include/elf/i386.h
include/elf/i860.h
include/elf/i960.h
include/elf/ia64.h
include/elf/internal.h
include/elf/ip2k.h
include/elf/iq2000.h
include/elf/lm32.h
include/elf/m32c.h
include/elf/m32r.h
include/elf/m68hc11.h
include/elf/m68k.h
include/elf/mcore.h
include/elf/mep.h
include/elf/metag.h
include/elf/microblaze.h
include/elf/mips.h
include/elf/mmix.h
include/elf/mn10200.h
include/elf/mn10300.h
include/elf/moxie.h
include/elf/msp430.h
include/elf/mt.h
include/elf/nios2.h
include/elf/openrisc.h
include/elf/or32.h
include/elf/pj.h
include/elf/ppc.h
include/elf/ppc64.h
include/elf/reloc-macros.h
include/elf/rl78.h
include/elf/rx.h
include/elf/s390.h
include/elf/score.h
include/elf/sh.h
include/elf/sparc.h
include/elf/spu.h
include/elf/tic6x-attrs.h
include/elf/tic6x.h
include/elf/tilegx.h
include/elf/tilepro.h
include/elf/v850.h
include/elf/vax.h
include/elf/vxworks.h
include/elf/x86-64.h
include/elf/xc16x.h
include/elf/xgate.h
include/elf/xstormy16.h
include/elf/xtensa.h
include/fibheap.h
include/filenames.h
include/floatformat.h
include/fnmatch.h
include/fopen-bin.h
include/fopen-same.h
include/fopen-vms.h
include/gdb/ChangeLog
include/gdb/callback.h
include/gdb/fileio.h
include/gdb/gdb-index.h
include/gdb/remote-sim.h
include/gdb/signals.def
include/gdb/signals.h
include/gdb/sim-arm.h
include/gdb/sim-bfin.h
include/gdb/sim-cr16.h
include/gdb/sim-d10v.h
include/gdb/sim-frv.h
include/gdb/sim-h8300.h
include/gdb/sim-lm32.h
include/gdb/sim-m32c.h
include/gdb/sim-ppc.h
include/gdb/sim-rl78.h
include/gdb/sim-rx.h
include/gdb/sim-sh.h
include/gdbm.h
include/getopt.h
include/hashtab.h
include/hp-symtab.h
include/ieee.h
include/leb128.h
include/libiberty.h
include/lto-symtab.h
include/mach-o/ChangeLog
include/mach-o/arm.h
include/mach-o/codesign.h
include/mach-o/external.h
include/mach-o/loader.h
include/mach-o/reloc.h
include/mach-o/x86-64.h
include/md5.h
include/nlm/ChangeLog
include/nlm/alpha-ext.h
include/nlm/common.h
include/nlm/external.h
include/nlm/i386-ext.h
include/nlm/internal.h
include/nlm/ppc-ext.h
include/nlm/sparc32-ext.h
include/oasys.h
include/objalloc.h
include/obstack.h
include/opcode/ChangeLog
include/opcode/ChangeLog-9103
include/opcode/aarch64.h
include/opcode/alpha.h
include/opcode/arc.h
include/opcode/arm.h
include/opcode/avr.h
include/opcode/bfin.h
include/opcode/cgen.h
include/opcode/convex.h
include/opcode/cr16.h
include/opcode/cris.h
include/opcode/crx.h
include/opcode/d10v.h
include/opcode/d30v.h
include/opcode/dlx.h
include/opcode/h8300.h
include/opcode/hppa.h
include/opcode/i370.h
include/opcode/i386.h
include/opcode/i860.h
include/opcode/i960.h
include/opcode/ia64.h
include/opcode/m68hc11.h
include/opcode/m68k.h
include/opcode/m88k.h
include/opcode/metag.h
include/opcode/mips.h
include/opcode/mmix.h
include/opcode/mn10200.h
include/opcode/mn10300.h
include/opcode/moxie.h
include/opcode/msp430.h
include/opcode/nios2.h
include/opcode/np1.h
include/opcode/ns32k.h
include/opcode/or32.h
include/opcode/pdp11.h
include/opcode/pj.h
include/opcode/pn.h
include/opcode/ppc.h
include/opcode/pyr.h
include/opcode/rl78.h
include/opcode/rx.h
include/opcode/s390.h
include/opcode/score-datadep.h
include/opcode/score-inst.h
include/opcode/sparc.h
include/opcode/spu-insns.h
include/opcode/spu.h
include/opcode/tahoe.h
include/opcode/tic30.h
include/opcode/tic4x.h
include/opcode/tic54x.h
include/opcode/tic6x-control-registers.h
include/opcode/tic6x-insn-formats.h
include/opcode/tic6x-opcode-table.h
include/opcode/tic6x.h
include/opcode/tic80.h
include/opcode/tilegx.h
include/opcode/tilepro.h
include/opcode/v850.h
include/opcode/vax.h
include/opcode/xgate.h
include/os9k.h
include/partition.h
include/plugin-api.h
include/progress.h
include/safe-ctype.h
include/sha1.h
include/simple-object.h
include/som/ChangeLog
include/som/aout.h
include/som/clock.h
include/som/internal.h
include/som/lst.h
include/som/reloc.h
include/sort.h
include/splay-tree.h
include/symcat.h
include/timeval-utils.h
include/vms/ChangeLog
include/vms/dcx.h
include/vms/dmt.h
include/vms/dsc.h
include/vms/dst.h
include/vms/eeom.h
include/vms/egps.h
include/vms/egsd.h
include/vms/egst.h
include/vms/egsy.h
include/vms/eiaf.h
include/vms/eicp.h
include/vms/eidc.h
include/vms/eiha.h
include/vms/eihd.h
include/vms/eihi.h
include/vms/eihs.h
include/vms/eihvn.h
include/vms/eisd.h
include/vms/emh.h
include/vms/eobjrec.h
include/vms/esdf.h
include/vms/esdfm.h
include/vms/esdfv.h
include/vms/esgps.h
include/vms/esrf.h
include/vms/etir.h
include/vms/internal.h
include/vms/lbr.h
include/vms/prt.h
include/vms/shl.h
include/xregex.h
include/xregex2.h
include/xtensa-config.h
include/xtensa-isa-internal.h
include/xtensa-isa.h
texinfo/texinfo.tex
Diffstat (limited to 'include/opcode/rl78.h')
-rw-r--r-- | include/opcode/rl78.h | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/include/opcode/rl78.h b/include/opcode/rl78.h deleted file mode 100644 index 0f3c64d62..000000000 --- a/include/opcode/rl78.h +++ /dev/null @@ -1,168 +0,0 @@ -/* Opcode decoder for the Renesas RL78 - Copyright 2011 - Free Software Foundation, Inc. - Written by DJ Delorie <dj@redhat.com> - - This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ - -/* The RL78 decoder in libopcodes is used by the simulator, gdb's - analyzer, and the disassembler. Given an opcode data source, it - decodes the next opcode into the following structures. */ - -#ifndef RL78_OPCODES_H_INCLUDED -#define RL78_OPCODES_H_INCLUDED - -/* For the purposes of these structures, the RL78 registers are as - follows, despite most of these being memory-mapped and - bank-switched: */ -typedef enum { - RL78_Reg_None, - /* The order of these matches the encodings. */ - RL78_Reg_X, - RL78_Reg_A, - RL78_Reg_C, - RL78_Reg_B, - RL78_Reg_E, - RL78_Reg_D, - RL78_Reg_L, - RL78_Reg_H, - /* The order of these matches the encodings. */ - RL78_Reg_AX, - RL78_Reg_BC, - RL78_Reg_DE, - RL78_Reg_HL, - /* Unordered. */ - RL78_Reg_SP, - RL78_Reg_PSW, - RL78_Reg_CS, - RL78_Reg_ES, - RL78_Reg_PMC, - RL78_Reg_MEM -} RL78_Register; - -typedef enum -{ - RL78_Byte = 0, - RL78_Word -} RL78_Size; - -typedef enum { - RL78_Condition_T, - RL78_Condition_F, - RL78_Condition_C, - RL78_Condition_NC, - RL78_Condition_H, - RL78_Condition_NH, - RL78_Condition_Z, - RL78_Condition_NZ -} RL78_Condition; - -typedef enum { - RL78_Operand_None = 0, - RL78_Operand_Immediate, /* #addend */ - RL78_Operand_Register, /* reg */ - RL78_Operand_Indirect, /* [reg + reg2 + addend] */ - RL78_Operand_Bit, /* reg.bit */ - RL78_Operand_BitIndirect, /* [reg+reg2+addend].bit */ - RL78_Operand_PreDec, /* [--reg] = push */ - RL78_Operand_PostInc /* [reg++] = pop */ -} RL78_Operand_Type; - -typedef enum -{ - RLO_unknown, - RLO_add, /* d += s */ - RLO_addc, /* d += s + CY */ - RLO_and, /* d &= s (byte, word, bit) */ - RLO_branch, /* pc = d */ - RLO_branch_cond, /* pc = d if cond(src) */ - RLO_branch_cond_clear, /* pc = d if cond(src), and clear(src) */ - RLO_break, /* BRK */ - RLO_call, /* call */ - RLO_cmp, /* cmp d, s */ - RLO_divhu, /* DIVHU */ - RLO_divwu, /* DIVWU */ - RLO_halt, /* HALT */ - RLO_mov, /* d = s */ - RLO_mach, /* MACH */ - RLO_machu, /* MACHU */ - RLO_mulu, /* MULU */ - RLO_mulh, /* MULH */ - RLO_mulhu, /* MULHU */ - RLO_nop, /* NOP */ - RLO_or, /* d |= s */ - RLO_ret, /* RET */ - RLO_reti, /* RETI */ - RLO_rol, /* d <<= s, MSB to LSB and CY */ - RLO_rolc, /* d <<= s, MSB to CY, CY, to LSB */ - RLO_ror, /* d >>= s, LSB to MSB and CY */ - RLO_rorc, /* d >>= s, LSB to CY, CY, to MSB */ - RLO_sar, /* d >>= s, signed */ - RLO_sel, /* rb = s */ - RLO_shr, /* d >>= s, unsigned */ - RLO_shl, /* d <<= s */ - RLO_skip, /* skip next insn is cond(s) */ - RLO_stop, /* STOP */ - RLO_sub, /* d -= s */ - RLO_subc, /* d -= s - CY */ - RLO_xch, /* swap d, s */ - RLO_xor, /* d ^= s */ -} RL78_Opcode_ID; - -typedef struct { - RL78_Operand_Type type; - int addend; - RL78_Register reg : 8; - RL78_Register reg2 : 8; - unsigned char bit_number : 4; - unsigned char condition : 3; - unsigned char use_es : 1; -} RL78_Opcode_Operand; - -/* PSW flag bits */ -#define RL78_PSW_IE 0x80 -#define RL78_PSW_Z 0x40 -#define RL78_PSW_RBS1 0x20 -#define RL78_PSW_AC 0x10 -#define RL78_PSW_RBS0 0x08 -#define RL78_PSW_ISP1 0x04 -#define RL78_PSW_ISP0 0x02 -#define RL78_PSW_CY 0x01 - -#define RL78_SFR_SP 0xffff8 -#define RL78_SFR_PSW 0xffffa -#define RL78_SFR_CS 0xffffc -#define RL78_SFR_ES 0xffffd -#define RL78_SFR_PMC 0xffffe -#define RL78_SFR_MEM 0xfffff - -typedef struct -{ - int lineno; - RL78_Opcode_ID id:24; - unsigned flags:8; /* PSW mask, for side effects only */ - int n_bytes; - char * syntax; - RL78_Size size; - /* By convention, these are destination, source. */ - RL78_Opcode_Operand op[2]; -} RL78_Opcode_Decoded; - -int rl78_decode_opcode (unsigned long, RL78_Opcode_Decoded *, int (*)(void *), void *); - -#endif |