Blame include/opcode/pdp11.h

Packit bbfece
/* PDP-11 opcde list.
Packit bbfece
   Copyright (C) 2001-2018 Free Software Foundation, Inc.
Packit bbfece
Packit bbfece
   This file is part of GDB and GAS.
Packit bbfece
Packit bbfece
   GDB and GAS are free software; you can redistribute it and/or modify
Packit bbfece
   it under the terms of the GNU General Public License as published by
Packit bbfece
   the Free Software Foundation; either version 3, or (at your option)
Packit bbfece
   any later version.
Packit bbfece
Packit bbfece
   GDB and GAS are distributed in the hope that it will be useful,
Packit bbfece
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit bbfece
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit bbfece
   GNU General Public License for more details.
Packit bbfece
Packit bbfece
   You should have received a copy of the GNU General Public License
Packit bbfece
   along with GDB or GAS; see the file COPYING3.  If not, write to
Packit bbfece
   the Free Software Foundation, 51 Franklin Street - Fifth Floor,
Packit bbfece
   Boston, MA 02110-1301, USA.  */
Packit bbfece
Packit bbfece
/* PDP-11 opcode types.  */
Packit bbfece
Packit bbfece
#define PDP11_OPCODE_NO_OPS	 0
Packit bbfece
#define PDP11_OPCODE_REG	 1	/* register */
Packit bbfece
#define PDP11_OPCODE_OP		 2	/* generic operand */
Packit bbfece
#define PDP11_OPCODE_REG_OP	 3	/* register and generic operand */
Packit bbfece
#define PDP11_OPCODE_REG_OP_REV	 4	/* register and generic operand,
Packit bbfece
					   reversed syntax */
Packit bbfece
#define PDP11_OPCODE_AC_FOP	 5	/* fpu accumulator and generic float
Packit bbfece
					   operand */
Packit bbfece
#define PDP11_OPCODE_OP_OP	 6	/* two generic operands */
Packit bbfece
#define PDP11_OPCODE_DISPL	 7	/* pc-relative displacement */
Packit bbfece
#define PDP11_OPCODE_REG_DISPL	 8	/* redister and pc-relative
Packit bbfece
					   displacement */
Packit bbfece
#define PDP11_OPCODE_IMM8	 9	/* 8-bit immediate */
Packit bbfece
#define PDP11_OPCODE_IMM6	10	/* 6-bit immediate */
Packit bbfece
#define PDP11_OPCODE_IMM3	11	/* 3-bit immediate */
Packit bbfece
#define PDP11_OPCODE_ILLEGAL	12	/* illegal instruction */
Packit bbfece
#define PDP11_OPCODE_FOP_AC	13	/* generic float argument, then fpu
Packit bbfece
					   accumulator */
Packit bbfece
#define PDP11_OPCODE_FOP	14	/* generic float operand */
Packit bbfece
#define PDP11_OPCODE_AC_OP	15	/* fpu accumulator and generic int
Packit bbfece
					   operand */
Packit bbfece
#define PDP11_OPCODE_OP_AC	16	/* generic int argument, then fpu
Packit bbfece
					   accumulator */
Packit bbfece
Packit bbfece
/*
Packit bbfece
 * PDP-11 instruction set extensions.
Packit bbfece
 *
Packit bbfece
 * Please keep the numbers low, as they are used as indices into
Packit bbfece
 * an array.
Packit bbfece
 */
Packit bbfece
Packit bbfece
#define PDP11_NONE	 0	/* not in instruction set */
Packit bbfece
#define PDP11_BASIC	 1	/* basic instruction set (11/20 etc) */
Packit bbfece
#define PDP11_CSM	 2	/* commercial instruction set */
Packit bbfece
#define PDP11_CIS	 3	/* commercial instruction set */
Packit bbfece
#define PDP11_EIS	 4	/* extended instruction set (11/45 etc) */
Packit bbfece
#define PDP11_FIS	 5	/* KEV11 floating-point instructions */
Packit bbfece
#define PDP11_FPP	 6	/* FP-11 floating-point instructions */
Packit bbfece
#define PDP11_LEIS	 7	/* limited extended instruction set
Packit bbfece
				   (11/40 etc) */
Packit bbfece
#define PDP11_MFPT	 8	/* move from processor type */
Packit bbfece
#define PDP11_MPROC	 9	/* multiprocessor instructions: tstset,
Packit bbfece
				   wrtlck */
Packit bbfece
#define PDP11_MXPS	10	/* move from/to processor status */
Packit bbfece
#define PDP11_SPL	11	/* set priority level */
Packit bbfece
#define PDP11_UCODE	12	/* microcode instructions: ldub, med, xfc */
Packit bbfece
#define PDP11_EXT_NUM	13	/* total number of extension types */
Packit bbfece
Packit bbfece
struct pdp11_opcode
Packit bbfece
{
Packit bbfece
  const char *name;
Packit bbfece
  int opcode;
Packit bbfece
  int mask;
Packit bbfece
  int type;
Packit bbfece
  int extension;
Packit bbfece
};
Packit bbfece
Packit bbfece
extern const struct pdp11_opcode pdp11_opcodes[];
Packit bbfece
extern const struct pdp11_opcode pdp11_aliases[];
Packit bbfece
extern const int pdp11_num_opcodes, pdp11_num_aliases;
Packit bbfece
Packit bbfece
/* end of pdp11.h */