This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PDP-11 port: include


This adds PDP-11 support in the include subdirectory.

include/ChangeLog:

2001-02-14  lars brinkhoff  <lars@nocrew.org>

	* dis-asm.h: Add PDP-11 target.

include/opcode/ChangeLog:

2001-02-14  lars brinkhoff  <lars@nocrew.org>

	* pdp11.h: New file.

Index: dis-asm.h
===================================================================
RCS file: /cvs/src/src/include/dis-asm.h,v
retrieving revision 1.21
diff -u -r1.21 dis-asm.h
--- dis-asm.h	2001/02/10 00:55:51	1.21
+++ dis-asm.h	2001/02/14 13:29:15
@@ -192,6 +192,7 @@
 extern int print_insn_mn10200		PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_mn10300		PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_ns32k		PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_pdp11		PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_big_powerpc	PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_little_powerpc	PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_rs6000		PARAMS ((bfd_vma, disassemble_info*));
diff -Nu /dev/null opcode/pdp11.h
--- /dev/null	Mon Jul 20 15:47:02 1998
+++ opcode/pdp11.h	Wed Feb 14 09:38:34 2001
@@ -0,0 +1,78 @@
+/* PDP-11 opcde list.
+   Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GDB and GAS.
+
+GDB and GAS are 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 1, or (at your option)
+any later version.
+
+GDB and GAS are 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 GDB or GAS; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/*
+ * PDP-11 opcode types.
+ */
+
+#define PDP11_OPCODE_NO_OPS	 0
+#define PDP11_OPCODE_REG	 1	/* register */
+#define PDP11_OPCODE_OP		 2	/* generic operand */
+#define PDP11_OPCODE_REG_OP	 3	/* register and generic operand */
+#define PDP11_OPCODE_REG_OP_REV	 4	/* register and generic operand,
+					   reversed syntax */
+#define PDP11_OPCODE_AC_OP	 5	/* fpu accumulator and generic
+					   operand */
+#define PDP11_OPCODE_OP_OP	 6	/* two generic operands */
+#define PDP11_OPCODE_DISPL	 7	/* pc-relative displacement */
+#define PDP11_OPCODE_REG_DISPL	 8	/* redister and pc-relative
+					   displacement */
+#define PDP11_OPCODE_IMM8	 9	/* 8-bit immediate */
+#define PDP11_OPCODE_IMM6	10	/* 6-bit immediate */
+#define PDP11_OPCODE_IMM3	11	/* 3-bit immediate */
+#define PDP11_OPCODE_ILLEGAL	12	/* illegal instruction */
+
+/*
+ * PDP-11 instruction set extensions.
+ *
+ * Please keep the numbers low, as they are used as indices into
+ * an array.
+ */
+
+#define PDP11_NONE	 0	/* not in instruction set */
+#define PDP11_BASIC	 1	/* basic instruction set (11/20 etc) */
+#define PDP11_CSM	 2	/* commercial instruction set */
+#define PDP11_CIS	 3	/* commercial instruction set */
+#define PDP11_EIS	 4	/* extended instruction set (11/45 etc) */
+#define PDP11_FIS	 5	/* KEV11 floating-point instructions */
+#define PDP11_FPP	 6	/* FP-11 floating-point instructions */
+#define PDP11_LEIS	 7	/* limited extended instruction set
+				   (11/40 etc) */
+#define PDP11_MFPT	 8	/* move from processor type */
+#define PDP11_MPROC	 9	/* multiprocessor instructions: tstset,
+				   wrtlck */
+#define PDP11_MXPS	10	/* move from/to processor status */
+#define PDP11_SPL	11	/* set priority level */
+#define PDP11_UCODE	12	/* microcode instructions: ldub, med, xfc */
+#define PDP11_EXT_NUM	13	/* total number of extension types */
+
+struct pdp11_opcode
+{
+  const char *name;
+  int opcode;
+  int mask;
+  int type;
+  int extension;
+};
+
+extern const struct pdp11_opcode pdp11_opcodes[];
+extern const struct pdp11_opcode pdp11_aliases[];
+extern const int pdp11_num_opcodes, pdp11_num_aliases;
+
+/* end of pdp11.h */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]