X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fopcode%2Ftic54x.h;h=153e4f00191afc79056ef1a15d6bf90aa8c84a34;hb=6d350754a32007465f9adbc11b87339e4493b358;hp=09ee8c90370c7d48991047449c7172964acb8f48;hpb=5c84d377b61a32a360fe814e649246df5c2fb293;p=deliverable%2Fbinutils-gdb.git diff --git a/include/opcode/tic54x.h b/include/opcode/tic54x.h index 09ee8c9037..153e4f0019 100644 --- a/include/opcode/tic54x.h +++ b/include/opcode/tic54x.h @@ -1,32 +1,32 @@ /* tic54x.h -- Header file for TI TMS320C54X opcode table - Copyright 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999-2020 Free Software Foundation, Inc. Written by Timothy Wall (twall@cygnus.com) -This file is part of GDB, GAS, and the GNU binutils. + This file is part of GDB, GAS, and the GNU binutils. -GDB, GAS, and the GNU binutils are free software; you can redistribute -them and/or modify them under the terms of the GNU General Public -License as published by the Free Software Foundation; either version -1, or (at your option) any later version. + GDB, GAS, and the GNU binutils are free software; you can redistribute + them and/or modify them under the terms of the GNU General Public + License as published by the Free Software Foundation; either version 3, + or (at your option) any later version. -GDB, GAS, and the GNU binutils are distributed in the hope that they -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. + GDB, GAS, and the GNU binutils are distributed in the hope that they + 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 file; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this file; see the file COPYING3. If not, write to the Free + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ -#ifndef _TIC54X_H_ -#define _TIC54X_H_ +#ifndef _opcode_tic54x_h_ +#define _opcode_tic54x_h_ typedef struct _symbol { const char *name; unsigned short value; -} symbol; +} tic54x_symbol; enum optype { OPT = 0x8000, @@ -86,7 +86,6 @@ typedef struct _template { /* The opcode mnemonic */ const char *name; - unsigned int words; /* insn size in words */ int minops, maxops; /* min/max operand count */ /* The significant bits in the opcode. Other bits are zero. @@ -141,27 +140,24 @@ typedef struct _template #define FL_NR 0x100 /* no repeat allowed */ #define FL_SMR 0x200 /* Smem read (for flagging write-only *+ARx */ - unsigned short opcode2, mask2; /* some insns have an extended opcode */ +#define FL_PAR 0x400 /* Parallel instruction. */ -} template; + unsigned short opcode2, mask2; /* some insns have an extended opcode */ -typedef struct _partemplate { - char *name; - char *parname; - unsigned int words; /* length in words */ - int minops, maxops; /* min/max operand count for 2nd part of insn */ - unsigned short opcode; - unsigned short mask; - enum optype operand_types[MAX_OPERANDS]; + const char* parname; enum optype paroperand_types[MAX_OPERANDS]; -} partemplate; - -extern const template tic54x_unknown_opcode; -extern const template tic54x_optab[]; -extern const partemplate tic54x_paroptab[]; -extern const symbol mmregs[], regs[]; -extern const symbol condition_codes[], cc2_codes[], status_bits[]; -extern const symbol cc3_codes[]; + +} insn_template; + +extern const insn_template tic54x_unknown_opcode; +extern const insn_template tic54x_optab[]; +extern const insn_template tic54x_paroptab[]; +extern const tic54x_symbol mmregs[], regs[]; +extern const tic54x_symbol condition_codes[], cc2_codes[], status_bits[]; +extern const tic54x_symbol cc3_codes[]; extern const char *misc_symbols[]; +struct disassemble_info; +extern const insn_template* tic54x_get_insn (struct disassemble_info *, + bfd_vma, unsigned short, int *); -#endif /* TIC54X_H */ +#endif /* _opcode_tic54x_h_ */