/* tic54x.h -- Header file for TI TMS320C54X opcode table
- Copyright 1999, 2000 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2005, 2009 Free Software Foundation, Inc.
Written by Timothy Wall (twall@cygnus.com)
This file is part of GDB, GAS, and the GNU binutils.
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. */
+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
{
{
/* 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.
#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[];
+} insn_template;
+
+extern const insn_template tic54x_unknown_opcode;
+extern const insn_template tic54x_optab[];
+extern const insn_template tic54x_paroptab[];
extern const symbol mmregs[], regs[];
extern const symbol condition_codes[], cc2_codes[], status_bits[];
extern const 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_ */