Blame include/opcode/tahoe.h

Packit bbfece
/*
Packit bbfece
 * Ported by the State University of New York at Buffalo by the Distributed
Packit bbfece
 * Computer Systems Lab, Department of Computer Science, 1991.
Packit bbfece
 */
Packit bbfece
/* Copyright (C) 2012-2018 Free Software Foundation, Inc.
Packit bbfece
Packit bbfece
   This file is part of GDB and BINUTILS.
Packit bbfece
Packit bbfece
   GDB and BINUTILS are free software; you can redistribute them and/or
Packit bbfece
   modify them under the terms of the GNU General Public License as
Packit bbfece
   published by the Free Software Foundation; either version 3, or (at
Packit bbfece
   your option) any later version.
Packit bbfece
Packit bbfece
   GDB and BINUTILS 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 GNU
Packit bbfece
   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 BINUTILS; see the file COPYING3.  If not, write
Packit bbfece
   to the Free Software Foundation, 51 Franklin Street - Fifth Floor,
Packit bbfece
   Boston, MA 02110-1301, USA.  */
Packit bbfece
Packit bbfece
Packit bbfece
#ifndef tahoe_opcodeT
Packit bbfece
#define tahoe_opcodeT int
Packit bbfece
#endif /* no tahoe_opcodeT */
Packit bbfece
Packit bbfece
struct vot_wot                  /* tahoe opcode table: wot to do with this */
Packit bbfece
                                /* particular opcode */
Packit bbfece
{
Packit bbfece
  char *            args;       /* how to compile said opcode */
Packit bbfece
  tahoe_opcodeT       code;     /* op-code (may be > 8 bits!) */
Packit bbfece
};
Packit bbfece
Packit bbfece
struct vot                      /* tahoe opcode text */
Packit bbfece
{
Packit bbfece
  char *            name;       /* opcode name: lowercase string  [key]  */
Packit bbfece
  struct vot_wot    detail;     /* rest of opcode table          [datum] */
Packit bbfece
};
Packit bbfece
Packit bbfece
#define vot_how args
Packit bbfece
#define vot_code code
Packit bbfece
#define vot_detail detail
Packit bbfece
#define vot_name name
Packit bbfece
Packit bbfece
static struct vot
Packit bbfece
votstrs[] =
Packit bbfece
{
Packit bbfece
{    "halt",	{"",			0x00	} },
Packit bbfece
{    "sinf",    {"",                    0x05    } },
Packit bbfece
{    "ldf",     {"rl",                  0x06    } },
Packit bbfece
{    "ldd",     {"rq",                  0x07    } },
Packit bbfece
{    "addb2",	{"rbmb",		0x08	} },
Packit bbfece
{    "movb",	{"rbwb",		0x09	} },
Packit bbfece
{    "addw2",	{"rwmw",		0x0a	} },
Packit bbfece
{    "movw",	{"rwww",		0x0b	} },
Packit bbfece
{    "addl2",	{"rlml",		0x0c	} },
Packit bbfece
{    "movl",	{"rlwl",		0x0d	} },
Packit bbfece
{    "bbs",	{"rlvlbw",		0x0e	} },
Packit bbfece
{    "nop",     {"",                    0x10    } },
Packit bbfece
{    "brb",	{"bb",			0x11	} },
Packit bbfece
{    "brw",	{"bw",			0x13	} },
Packit bbfece
{    "cosf",    {"",                    0x15    } },
Packit bbfece
{    "lnf",     {"rl",                  0x16    } },
Packit bbfece
{    "lnd",     {"rq",                  0x17    } },
Packit bbfece
{    "addb3",	{"rbrbwb",		0x18	} },
Packit bbfece
{    "cmpb",	{"rbwb",		0x19	} }, 
Packit bbfece
{    "addw3",	{"rwrwww",		0x1a	} },
Packit bbfece
{    "cmpw",	{"rwww",		0x1b	} },
Packit bbfece
{    "addl3",	{"rlrlwl",		0x1c	} },
Packit bbfece
{    "cmpl",	{"rlwl",		0x1d	} },
Packit bbfece
{    "bbc",	{"rlvlbw",		0x1e	} },
Packit bbfece
{    "rei",	{"",			0x20	} },
Packit bbfece
{    "bneq",	{"bb",			0x21	} },
Packit bbfece
{    "bnequ",	{"bb",			0x21	} },
Packit bbfece
{    "cvtwl",	{"rwwl",		0x23	} },
Packit bbfece
{    "stf",     {"wl",                  0x26    } },
Packit bbfece
{    "std",     {"wq",                  0x27    } },
Packit bbfece
{    "subb2",	{"rbmb",		0x28	} },
Packit bbfece
{    "mcomb",	{"rbwb",		0x29	} },
Packit bbfece
{    "subw2",	{"rwmw",		0x2a	} },
Packit bbfece
{    "mcomw",	{"rwww",		0x2b	} },
Packit bbfece
{    "subl2",   {"rlml",                0x2c    } },
Packit bbfece
{    "mcoml",   {"rlwl",                0x2d    } },
Packit bbfece
{    "emul",	{"rlrlrlwq",		0x2e	} },
Packit bbfece
{    "aoblss",	{"rlmlbw",		0x2f	} },
Packit bbfece
{    "bpt",	{"",			0x30	} },
Packit bbfece
{    "beql",	{"bb",			0x31	} },
Packit bbfece
{    "beqlu",	{"bb",			0x31	} },
Packit bbfece
{    "cvtwb",	{"rwwb",		0x33	} },
Packit bbfece
{    "logf",    {"",                    0x35    } },
Packit bbfece
{    "cmpf",    {"rl",                  0x36    } },
Packit bbfece
{    "cmpd",    {"rq",                  0x37    } },
Packit bbfece
{    "subb3",	{"rbrbwb",		0x38	} },
Packit bbfece
{    "bitb",	{"rbrb",		0x39	} },
Packit bbfece
{    "subw3",	{"rwrwww",		0x3a	} },
Packit bbfece
{    "bitw",	{"rwrw",		0x3b	} },
Packit bbfece
{    "subl3",	{"rlrlwl",		0x3c	} },
Packit bbfece
{    "bitl",	{"rlrl",		0x3d	} },
Packit bbfece
{    "ediv",	{"rlrqwlwl",		0x3e	} },
Packit bbfece
{    "aobleq",	{"rlmlbw",		0x3f	} },
Packit bbfece
{    "ret",	{"",			0x40	} },
Packit bbfece
{    "bgtr",	{"bb",			0x41	} },
Packit bbfece
{    "sqrtf",   {"",                    0x45    } },
Packit bbfece
{    "cmpf2",   {"rl",                  0x46    } },
Packit bbfece
{    "cmpd2",   {"rqrq",                0x47    } },
Packit bbfece
{    "shll",    {"rbrlwl",              0x48    } },
Packit bbfece
{    "clrb",	{"wb",			0x49	} },
Packit bbfece
{    "shlq",	{"rbrqwq",		0x4a	} },
Packit bbfece
{    "clrw",	{"ww",			0x4b	} },
Packit bbfece
{    "mull2",	{"rlml",		0x4c	} },
Packit bbfece
{    "clrl",	{"wl",			0x4d	} },
Packit bbfece
{    "shal",    {"rbrlwl",		0x4e	} },
Packit bbfece
{    "bleq",	{"bb",			0x51	} },
Packit bbfece
{    "expf",    {"",                    0x55    } },
Packit bbfece
{    "tstf",    {"",                    0x56    } },
Packit bbfece
{    "tstd",    {"",                    0x57    } },
Packit bbfece
{    "shrl",    {"rbrlwl",		0x58	} },
Packit bbfece
{    "tstb",	{"rb",			0x59	} },
Packit bbfece
{    "shrq",    {"rbrqwq",		0x5a	} },
Packit bbfece
{    "tstw",	{"rw",			0x5b	} },
Packit bbfece
{    "mull3",	{"rlrlwl",		0x5c	} },
Packit bbfece
{    "tstl",	{"rl",			0x5d	} },
Packit bbfece
{    "shar",	{"rbrlwl",		0x5e	} },
Packit bbfece
{    "bbssi",	{"rlmlbw",		0x5f	} },
Packit bbfece
{    "ldpctx",	{"",			0x60	} },
Packit bbfece
{    "pushd",   {"",                    0x67    } },
Packit bbfece
{    "incb",	{"mb",			0x69	} },
Packit bbfece
{    "incw",	{"mw",			0x6b	} },
Packit bbfece
{    "divl2",	{"rlml",		0x6c	} },
Packit bbfece
{    "incl",	{"ml",			0x6d	} },
Packit bbfece
{    "cvtlb",	{"rlwb",		0x6f	} },
Packit bbfece
{    "svpctx",	{"",			0x70	} },
Packit bbfece
{    "jmp",	{"ab",			0x71	} },
Packit bbfece
{    "cvlf",    {"rl",                  0x76    } },
Packit bbfece
{    "cvld",    {"rl",                  0x77    } },
Packit bbfece
{    "decb",	{"mb",			0x79	} },
Packit bbfece
{    "decw",	{"mw",			0x7b	} },
Packit bbfece
{    "divl3",	{"rlrlwl",		0x7c	} },
Packit bbfece
{    "decl",	{"ml",			0x7d	} },
Packit bbfece
{    "cvtlw",	{"rlww",		0x7f	} },
Packit bbfece
{    "bgeq",	{"bb",			0x81	} },
Packit bbfece
{    "movs2",	{"abab",		0x82	} },
Packit bbfece
{    "cvfl",    {"wl",                  0x86    } },
Packit bbfece
{    "cvdl",    {"wl",                  0x87    } },
Packit bbfece
{    "orb2",	{"rbmb",		0x88	} },
Packit bbfece
{    "cvtbl",	{"rbwl",		0x89	} },
Packit bbfece
{    "orw2",	{"rwmw",		0x8a	} },
Packit bbfece
{    "bispsw",	{"rw",			0x8b	} },
Packit bbfece
{    "orl2",    {"rlml",                0x8c    } },
Packit bbfece
{    "adwc",	{"rlml",		0x8d	} },
Packit bbfece
{    "adda", 	{"rlml",		0x8e	} },
Packit bbfece
{    "blss",	{"bb",			0x91	} },
Packit bbfece
{    "cmps2",   {"abab",		0x92	} },
Packit bbfece
{    "ldfd",    {"rl",                  0x97    } },
Packit bbfece
{    "orb3",	{"rbrbwb",		0x98	} },
Packit bbfece
{    "cvtbw",	{"rbww",		0x99	} },
Packit bbfece
{    "orw3",   	{"rwrwww",		0x9a	} },
Packit bbfece
{    "bicpsw",	{"rw",			0x9b	} },
Packit bbfece
{    "orl3",    {"rlrlwl",              0x9c    } },
Packit bbfece
{    "sbwc",	{"rlml",		0x9d	} },
Packit bbfece
{    "suba",    {"rlml",                0x9e    } },
Packit bbfece
{    "bgtru",	{"bb",			0xa1	} },
Packit bbfece
{    "cvdf",    {"",                    0xa6    } },
Packit bbfece
{    "andb2",   {"rbmb",		0xa8    } },
Packit bbfece
{    "movzbl",	{"rbwl",		0xa9	} },
Packit bbfece
{    "andw2",   {"rwmw",		0xaa    } },
Packit bbfece
{    "loadr",   {"rwal",		0xab	} },
Packit bbfece
{    "andl2",   {"rlml",		0xac    } },
Packit bbfece
{    "mtpr",	{"rlrl",		0xad	} },
Packit bbfece
{    "ffs",	{"rlwl",		0xae	} },
Packit bbfece
{    "blequ",	{"bb",			0xb1	} },
Packit bbfece
{    "negf",    {"",                    0xb6    } },
Packit bbfece
{    "negd",    {"",                    0xb7    } },
Packit bbfece
{    "andb3",   {"rbrbwb",              0xb8    } },
Packit bbfece
{    "movzbw",	{"rbww",		0xb9	} },
Packit bbfece
{    "andw3",   {"rwrwww",		0xba    } },
Packit bbfece
{    "storer",  {"rwal",                0xbb    } },
Packit bbfece
{    "andl3",   {"rlrlwl",		0xbc    } },
Packit bbfece
{    "mfpr",	{"rlwl",		0xbd	} },
Packit bbfece
{    "ffc",	{"rlwl",		0xbe	} },
Packit bbfece
{    "calls",	{"rbab",		0xbf	} },
Packit bbfece
{    "prober",	{"rbabrl",		0xc0	} },
Packit bbfece
{    "bvc",	{"bb",			0xc1	} },
Packit bbfece
{    "movs3",	{"ababrw",		0xc2	} },
Packit bbfece
{    "movzwl",	{"rwwl",		0xc3	} },
Packit bbfece
{    "addf",    {"rl",                  0xc6    } },
Packit bbfece
{    "addd",    {"rq",                  0xc7    } },
Packit bbfece
{    "xorb2",   {"rbmb",                0xc8    } },
Packit bbfece
{    "movob",   {"rbwb",                0xc9    } },
Packit bbfece
{    "xorw2",   {"rwmw",                0xca    } },
Packit bbfece
{    "movow",   {"rwww",                0xcb	} },
Packit bbfece
{    "xorl2",	{"rlml",                0xcc    } },
Packit bbfece
{    "movpsl",  {"wl",                  0xcd    } },
Packit bbfece
{    "kcall",   {"rw",			0xcf	} },
Packit bbfece
{    "probew",  {"rbabrl",		0xd0	} },
Packit bbfece
{    "bvs",     {"bb",			0xd1	} },
Packit bbfece
{    "cmps3",   {"ababrw",		0xd2	} },
Packit bbfece
{    "subf",    {"rq",                  0xd6    } },
Packit bbfece
{    "subd",    {"rq",                  0xd7    } },
Packit bbfece
{    "xorb3",	{"rbrbwb",		0xd8	} },
Packit bbfece
{    "pushb",   {"rb",			0xd9	} },
Packit bbfece
{    "xorw3",	{"rwrwww",		0xda	} },
Packit bbfece
{    "pushw",   {"rw", 			0xdb	} },
Packit bbfece
{    "xorl3",	{"rlrlwl",		0xdc	} },
Packit bbfece
{    "pushl",	{"rl",			0xdd	} },
Packit bbfece
{    "insque",	{"abab",		0xe0	} },
Packit bbfece
{    "bcs",	{"bb",			0xe1	} },
Packit bbfece
{    "bgequ",	{"bb",			0xe1	} },
Packit bbfece
{    "mulf",    {"rq",                  0xe6    } },
Packit bbfece
{    "muld",    {"rq",                  0xe7    } },
Packit bbfece
{    "mnegb",	{"rbwb",		0xe8	} },
Packit bbfece
{    "movab",	{"abwl",		0xe9	} },
Packit bbfece
{    "mnegw",	{"rwww",		0xea	} },
Packit bbfece
{    "movaw",	{"awwl",		0xeb	} },
Packit bbfece
{    "mnegl",	{"rlwl",		0xec	} },
Packit bbfece
{    "moval",	{"alwl",		0xed	} },
Packit bbfece
{    "remque",	{"ab",  		0xf0	} },
Packit bbfece
{    "bcc",	{"bb",			0xf1	} },
Packit bbfece
{    "blssu",	{"bb",			0xf1	} },
Packit bbfece
{    "divf",    {"rq",                  0xf6    } },
Packit bbfece
{    "divd",    {"rq",                  0xf7    } },
Packit bbfece
{    "movblk",  {"alalrw",              0xf8	} },
Packit bbfece
{    "pushab",	{"ab",			0xf9	} },
Packit bbfece
{    "pushaw",	{"aw",			0xfb	} },
Packit bbfece
{    "casel",	{"rlrlrl",		0xfc	} },
Packit bbfece
{    "pushal",	{"al",			0xfd	} },
Packit bbfece
{    "callf",	{"rbab",		0xfe	} },
Packit bbfece
{      ""       ,   ""          } /* empty is end sentinel */
Packit bbfece
Packit bbfece
};