Update copyright years
[deliverable/binutils-gdb.git] / include / opcode / tahoe.h
CommitLineData
252b5132
RH
1/*
2 * Ported by the State University of New York at Buffalo by the Distributed
3 * Computer Systems Lab, Department of Computer Science, 1991.
4 */
4b95cf5c 5/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
5bf135a7
NC
6
7 This file is part of GDB and BINUTILS.
8
9 GDB and BINUTILS are free software; you can redistribute them and/or
10 modify them under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 3, or (at
12 your option) any later version.
13
14 GDB and BINUTILS are distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with GDB or BINUTILS; see the file COPYING3. If not, write
21 to the Free Software Foundation, 51 Franklin Street - Fifth Floor,
22 Boston, MA 02110-1301, USA. */
23
252b5132
RH
24
25#ifndef tahoe_opcodeT
26#define tahoe_opcodeT int
27#endif /* no tahoe_opcodeT */
28
29struct vot_wot /* tahoe opcode table: wot to do with this */
30 /* particular opcode */
31{
32 char * args; /* how to compile said opcode */
33 tahoe_opcodeT code; /* op-code (may be > 8 bits!) */
34};
35
36struct vot /* tahoe opcode text */
37{
38 char * name; /* opcode name: lowercase string [key] */
39 struct vot_wot detail; /* rest of opcode table [datum] */
40};
41
42#define vot_how args
43#define vot_code code
44#define vot_detail detail
45#define vot_name name
46
47static struct vot
48votstrs[] =
49{
50{ "halt", {"", 0x00 } },
51{ "sinf", {"", 0x05 } },
52{ "ldf", {"rl", 0x06 } },
53{ "ldd", {"rq", 0x07 } },
54{ "addb2", {"rbmb", 0x08 } },
55{ "movb", {"rbwb", 0x09 } },
56{ "addw2", {"rwmw", 0x0a } },
57{ "movw", {"rwww", 0x0b } },
58{ "addl2", {"rlml", 0x0c } },
59{ "movl", {"rlwl", 0x0d } },
60{ "bbs", {"rlvlbw", 0x0e } },
61{ "nop", {"", 0x10 } },
62{ "brb", {"bb", 0x11 } },
63{ "brw", {"bw", 0x13 } },
64{ "cosf", {"", 0x15 } },
65{ "lnf", {"rl", 0x16 } },
66{ "lnd", {"rq", 0x17 } },
67{ "addb3", {"rbrbwb", 0x18 } },
68{ "cmpb", {"rbwb", 0x19 } },
69{ "addw3", {"rwrwww", 0x1a } },
70{ "cmpw", {"rwww", 0x1b } },
71{ "addl3", {"rlrlwl", 0x1c } },
72{ "cmpl", {"rlwl", 0x1d } },
73{ "bbc", {"rlvlbw", 0x1e } },
74{ "rei", {"", 0x20 } },
75{ "bneq", {"bb", 0x21 } },
76{ "bnequ", {"bb", 0x21 } },
77{ "cvtwl", {"rwwl", 0x23 } },
78{ "stf", {"wl", 0x26 } },
79{ "std", {"wq", 0x27 } },
80{ "subb2", {"rbmb", 0x28 } },
81{ "mcomb", {"rbwb", 0x29 } },
82{ "subw2", {"rwmw", 0x2a } },
83{ "mcomw", {"rwww", 0x2b } },
84{ "subl2", {"rlml", 0x2c } },
85{ "mcoml", {"rlwl", 0x2d } },
86{ "emul", {"rlrlrlwq", 0x2e } },
87{ "aoblss", {"rlmlbw", 0x2f } },
88{ "bpt", {"", 0x30 } },
89{ "beql", {"bb", 0x31 } },
90{ "beqlu", {"bb", 0x31 } },
91{ "cvtwb", {"rwwb", 0x33 } },
92{ "logf", {"", 0x35 } },
93{ "cmpf", {"rl", 0x36 } },
94{ "cmpd", {"rq", 0x37 } },
95{ "subb3", {"rbrbwb", 0x38 } },
96{ "bitb", {"rbrb", 0x39 } },
97{ "subw3", {"rwrwww", 0x3a } },
98{ "bitw", {"rwrw", 0x3b } },
99{ "subl3", {"rlrlwl", 0x3c } },
100{ "bitl", {"rlrl", 0x3d } },
101{ "ediv", {"rlrqwlwl", 0x3e } },
102{ "aobleq", {"rlmlbw", 0x3f } },
103{ "ret", {"", 0x40 } },
104{ "bgtr", {"bb", 0x41 } },
105{ "sqrtf", {"", 0x45 } },
106{ "cmpf2", {"rl", 0x46 } },
107{ "cmpd2", {"rqrq", 0x47 } },
108{ "shll", {"rbrlwl", 0x48 } },
109{ "clrb", {"wb", 0x49 } },
110{ "shlq", {"rbrqwq", 0x4a } },
111{ "clrw", {"ww", 0x4b } },
112{ "mull2", {"rlml", 0x4c } },
113{ "clrl", {"wl", 0x4d } },
114{ "shal", {"rbrlwl", 0x4e } },
115{ "bleq", {"bb", 0x51 } },
116{ "expf", {"", 0x55 } },
117{ "tstf", {"", 0x56 } },
118{ "tstd", {"", 0x57 } },
119{ "shrl", {"rbrlwl", 0x58 } },
120{ "tstb", {"rb", 0x59 } },
121{ "shrq", {"rbrqwq", 0x5a } },
122{ "tstw", {"rw", 0x5b } },
123{ "mull3", {"rlrlwl", 0x5c } },
124{ "tstl", {"rl", 0x5d } },
125{ "shar", {"rbrlwl", 0x5e } },
126{ "bbssi", {"rlmlbw", 0x5f } },
127{ "ldpctx", {"", 0x60 } },
128{ "pushd", {"", 0x67 } },
129{ "incb", {"mb", 0x69 } },
130{ "incw", {"mw", 0x6b } },
131{ "divl2", {"rlml", 0x6c } },
132{ "incl", {"ml", 0x6d } },
133{ "cvtlb", {"rlwb", 0x6f } },
134{ "svpctx", {"", 0x70 } },
135{ "jmp", {"ab", 0x71 } },
136{ "cvlf", {"rl", 0x76 } },
137{ "cvld", {"rl", 0x77 } },
138{ "decb", {"mb", 0x79 } },
139{ "decw", {"mw", 0x7b } },
140{ "divl3", {"rlrlwl", 0x7c } },
141{ "decl", {"ml", 0x7d } },
142{ "cvtlw", {"rlww", 0x7f } },
143{ "bgeq", {"bb", 0x81 } },
144{ "movs2", {"abab", 0x82 } },
145{ "cvfl", {"wl", 0x86 } },
146{ "cvdl", {"wl", 0x87 } },
147{ "orb2", {"rbmb", 0x88 } },
148{ "cvtbl", {"rbwl", 0x89 } },
149{ "orw2", {"rwmw", 0x8a } },
150{ "bispsw", {"rw", 0x8b } },
151{ "orl2", {"rlml", 0x8c } },
152{ "adwc", {"rlml", 0x8d } },
153{ "adda", {"rlml", 0x8e } },
154{ "blss", {"bb", 0x91 } },
155{ "cmps2", {"abab", 0x92 } },
156{ "ldfd", {"rl", 0x97 } },
157{ "orb3", {"rbrbwb", 0x98 } },
158{ "cvtbw", {"rbww", 0x99 } },
159{ "orw3", {"rwrwww", 0x9a } },
160{ "bicpsw", {"rw", 0x9b } },
161{ "orl3", {"rlrlwl", 0x9c } },
162{ "sbwc", {"rlml", 0x9d } },
163{ "suba", {"rlml", 0x9e } },
164{ "bgtru", {"bb", 0xa1 } },
165{ "cvdf", {"", 0xa6 } },
166{ "andb2", {"rbmb", 0xa8 } },
167{ "movzbl", {"rbwl", 0xa9 } },
168{ "andw2", {"rwmw", 0xaa } },
169{ "loadr", {"rwal", 0xab } },
170{ "andl2", {"rlml", 0xac } },
171{ "mtpr", {"rlrl", 0xad } },
172{ "ffs", {"rlwl", 0xae } },
173{ "blequ", {"bb", 0xb1 } },
174{ "negf", {"", 0xb6 } },
175{ "negd", {"", 0xb7 } },
176{ "andb3", {"rbrbwb", 0xb8 } },
177{ "movzbw", {"rbww", 0xb9 } },
178{ "andw3", {"rwrwww", 0xba } },
179{ "storer", {"rwal", 0xbb } },
180{ "andl3", {"rlrlwl", 0xbc } },
181{ "mfpr", {"rlwl", 0xbd } },
182{ "ffc", {"rlwl", 0xbe } },
183{ "calls", {"rbab", 0xbf } },
184{ "prober", {"rbabrl", 0xc0 } },
185{ "bvc", {"bb", 0xc1 } },
186{ "movs3", {"ababrw", 0xc2 } },
187{ "movzwl", {"rwwl", 0xc3 } },
188{ "addf", {"rl", 0xc6 } },
189{ "addd", {"rq", 0xc7 } },
190{ "xorb2", {"rbmb", 0xc8 } },
191{ "movob", {"rbwb", 0xc9 } },
192{ "xorw2", {"rwmw", 0xca } },
193{ "movow", {"rwww", 0xcb } },
194{ "xorl2", {"rlml", 0xcc } },
195{ "movpsl", {"wl", 0xcd } },
196{ "kcall", {"rw", 0xcf } },
197{ "probew", {"rbabrl", 0xd0 } },
198{ "bvs", {"bb", 0xd1 } },
199{ "cmps3", {"ababrw", 0xd2 } },
200{ "subf", {"rq", 0xd6 } },
201{ "subd", {"rq", 0xd7 } },
202{ "xorb3", {"rbrbwb", 0xd8 } },
203{ "pushb", {"rb", 0xd9 } },
204{ "xorw3", {"rwrwww", 0xda } },
205{ "pushw", {"rw", 0xdb } },
206{ "xorl3", {"rlrlwl", 0xdc } },
207{ "pushl", {"rl", 0xdd } },
208{ "insque", {"abab", 0xe0 } },
209{ "bcs", {"bb", 0xe1 } },
210{ "bgequ", {"bb", 0xe1 } },
211{ "mulf", {"rq", 0xe6 } },
212{ "muld", {"rq", 0xe7 } },
213{ "mnegb", {"rbwb", 0xe8 } },
214{ "movab", {"abwl", 0xe9 } },
215{ "mnegw", {"rwww", 0xea } },
216{ "movaw", {"awwl", 0xeb } },
217{ "mnegl", {"rlwl", 0xec } },
218{ "moval", {"alwl", 0xed } },
219{ "remque", {"ab", 0xf0 } },
220{ "bcc", {"bb", 0xf1 } },
221{ "blssu", {"bb", 0xf1 } },
222{ "divf", {"rq", 0xf6 } },
223{ "divd", {"rq", 0xf7 } },
224{ "movblk", {"alalrw", 0xf8 } },
225{ "pushab", {"ab", 0xf9 } },
226{ "pushaw", {"aw", 0xfb } },
227{ "casel", {"rlrlrl", 0xfc } },
228{ "pushal", {"al", 0xfd } },
229{ "callf", {"rbab", 0xfe } },
230{ "" , "" } /* empty is end sentinel */
231
232};
This page took 0.602014 seconds and 4 git commands to generate.