From 3072af43b04914bb9fe9c6d269d0be6d4161679a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 3 Oct 1996 03:32:51 +0000 Subject: * mn10x00.h: New file. Matsushita. --- include/opcode/.Sanitize | 1 + include/opcode/ChangeLog | 26 +++++++++++++++++ include/opcode/mn10x00.h | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100644 include/opcode/mn10x00.h (limited to 'include') diff --git a/include/opcode/.Sanitize b/include/opcode/.Sanitize index 2c8521c..81362b3 100644 --- a/include/opcode/.Sanitize +++ b/include/opcode/.Sanitize @@ -61,6 +61,7 @@ i960.h m68k.h m88k.h mips.h +mn10x00.h np1.h ns32k.h pn.h diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index b6eeefc..48dd515 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,4 +1,30 @@ +Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com) + + * mn10x00.h: New file. + +start-sanitize-v850 +Fri Sep 27 18:26:46 1996 Stu Grossman (grossman@critters.cygnus.com) + + * v850.h: Add new flag to indicate this instruction uses a PC + displacement. + +end-sanitize-v850 +Fri Sep 13 14:58:13 1996 Jeffrey A Law (law@cygnus.com) + + * h8300.h (stmac): Add missing instruction. + start-sanitize-v850 +Sat Aug 31 16:02:03 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (v850_opcode): Remove "size" field. Add "memop" + field. + +Fri Aug 23 10:39:08 1996 Jeffrey A Law (law@cygnus.com) + + * v850.h (V850_OPERAND_EP): Define. + + * v850.h (v850_opcode): Add size field. + Thu Aug 22 16:51:25 1996 J.T. Conklin * v850.h (v850_operands): Add insert and extract fields, pointers diff --git a/include/opcode/mn10x00.h b/include/opcode/mn10x00.h new file mode 100644 index 0000000..b09387f --- /dev/null +++ b/include/opcode/mn10x00.h @@ -0,0 +1,75 @@ +/* mn10x00.h -- Header file for Matsushita 10200 and 10300 opcode table + Copyright 1996 Free Software Foundation, Inc. + Written by Jeff Law, Cygnus Support + +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 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. */ + +#ifndef MN10x00_H +#define MN10x00_H + +/* The opcode table is an array of struct mn10x00_opcode. */ + +struct mn10x00_opcode +{ + /* The opcode name. */ + const char *name; + + /* The opcode itself. Those bits which will be filled in with + operands are zeroes. */ + unsigned long opcode; + + /* The opcode mask. This is used by the disassembler. This is a + mask containing ones indicating those bits which must match the + opcode field, and zeroes indicating those bits which need not + match (and are presumably filled in by operands). */ + unsigned long mask; + + /* An array of operand codes. Each code is an index into the + operand table. They appear in the order which the operands must + appear in assembly code, and are terminated by a zero. */ + unsigned char operands[8]; +}; + +/* The table itself is sorted by major opcode number, and is otherwise + in the order in which the disassembler should consider + instructions. */ +extern const struct mn10x00_opcode mn10x00_opcodes[]; +extern const int mn10x00_num_opcodes; + + +/* The operands table is an array of struct powerpc_operand. */ + +struct mn10x00_operand +{ + /* The number of bits in the operand. */ + int bits; + + /* How far the operand is left shifted in the instruction. */ + int shift; + + /* One bit syntax flags. */ + int flags; +}; + +/* Elements in the table are retrieved by indexing with values from + the operands field of the mn10x00_opcodes table. */ + +extern const struct mn10x00_operand mn10x00_operands[]; + +/* Values defined for the flags field of a struct mn10x00_operand. */ + +#endif /* MN10x00_H */ -- cgit v1.1