source: trunk/libs/newlib/src/include/opcode/vax.h @ 686

Last change on this file since 686 was 444, checked in by satin@…, 7 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 13.3 KB
Line 
1/* Vax opcde list.
2   Copyright 1989, 1991, 1992, 1995, 2010 Free Software Foundation, Inc.
3
4   This file is part of GDB and GAS.
5
6   GDB and GAS are free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 3, or (at your option)
9   any later version.
10
11   GDB and GAS are distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with GDB or GAS; see the file COPYING3.  If not, write to
18   the Free Software Foundation, 51 Franklin Street - Fifth Floor,
19   Boston, MA 02110-1301, USA.  */
20
21#ifndef vax_opcodeT
22#define vax_opcodeT int
23#endif /* no vax_opcodeT */
24
25struct vot_wot                  /* vax opcode table: wot to do with this */
26                                /* particular opcode */
27{
28  const char       *args;       /* how to compile said opcode */
29  vax_opcodeT       code;       /* op-code (may be > 8 bits!) */
30};
31
32struct vot                      /* vax opcode text */
33{
34  const char       *name;       /* opcode name: lowercase string  [key]  */
35  struct vot_wot    detail;     /* rest of opcode table          [datum] */
36};
37
38#define vot_how args
39#define vot_code code
40#define vot_detail detail
41#define vot_name name
42
43static const struct vot
44votstrs[] =
45{
46{    "halt",    {"",                    0x00    } },
47{    "nop",     {"",                    0x01    } },
48{    "rei",     {"",                    0x02    } },
49{    "bpt",     {"",                    0x03    } },
50{    "ret",     {"",                    0x04    } },
51{    "rsb",     {"",                    0x05    } },
52{    "ldpctx",  {"",                    0x06    } },
53{    "svpctx",  {"",                    0x07    } },
54{    "cvtps",   {"rwabrwab",            0x08    } },
55{    "cvtsp",   {"rwabrwab",            0x09    } },
56{    "index",   {"rlrlrlrlrlwl",        0x0a    } },
57{    "crc",     {"abrlrwab",            0x0b    } },
58{    "prober",  {"rbrwab",              0x0c    } },
59{    "probew",  {"rbrwab",              0x0d    } },
60{    "insque",  {"abab",                0x0e    } },
61{    "remque",  {"abwl",                0x0f    } },
62{    "bsbb",    {"bb",                  0x10    } },
63{    "brb",     {"bb",                  0x11    } },
64{    "bneq",    {"bb",                  0x12    } },
65{    "bnequ",   {"bb",                  0x12    } },
66{    "beql",    {"bb",                  0x13    } },
67{    "beqlu",   {"bb",                  0x13    } },
68{    "bgtr",    {"bb",                  0x14    } },
69{    "bleq",    {"bb",                  0x15    } },
70{    "jsb",     {"ab",                  0x16    } },
71{    "jmp",     {"ab",                  0x17    } },
72{    "bgeq",    {"bb",                  0x18    } },
73{    "blss",    {"bb",                  0x19    } },
74{    "bgtru",   {"bb",                  0x1a    } },
75{    "blequ",   {"bb",                  0x1b    } },
76{    "bvc",     {"bb",                  0x1c    } },
77{    "bvs",     {"bb",                  0x1d    } },
78{    "bcc",     {"bb",                  0x1e    } },
79{    "bgequ",   {"bb",                  0x1e    } },
80{    "blssu",   {"bb",                  0x1f    } },
81{    "bcs",     {"bb",                  0x1f    } },
82{    "addp4",   {"rwabrwab",            0x20    } },
83{    "addp6",   {"rwabrwabrwab",        0x21    } },
84{    "subp4",   {"rwabrwab",            0x22    } },
85{    "subp6",   {"rwabrwabrwab",        0x23    } },
86{    "cvtpt",   {"rwababrwab",          0x24    } },
87{    "mulp",    {"rwabrwabrwab",        0x25    } },
88{    "cvttp",   {"rwababrwab",          0x26    } },
89{    "divp",    {"rwabrwabrwab",        0x27    } },
90{    "movc3",   {"rwabab",              0x28    } },
91{    "cmpc3",   {"rwabab",              0x29    } },
92{    "scanc",   {"rwababrb",            0x2a    } },
93{    "spanc",   {"rwababrb",            0x2b    } },
94{    "movc5",   {"rwabrbrwab",          0x2c    } },
95{    "cmpc5",   {"rwabrbrwab",          0x2d    } },
96{    "movtc",   {"rwabrbabrwab",        0x2e    } },
97{    "movtuc",  {"rwabrbabrwab",        0x2f    } },
98{    "bsbw",    {"bw",                  0x30    } },
99{    "brw",     {"bw",                  0x31    } },
100{    "cvtwl",   {"rwwl",                0x32    } },
101{    "cvtwb",   {"rwwb",                0x33    } },
102{    "movp",    {"rwabab",              0x34    } },
103{    "cmpp3",   {"rwabab",              0x35    } },
104{    "cvtpl",   {"rwabwl",              0x36    } },
105{    "cmpp4",   {"rwabrwab",            0x37    } },
106{    "editpc",  {"rwababab",            0x38    } },
107{    "matchc",  {"rwabrwab",            0x39    } },
108{    "locc",    {"rbrwab",              0x3a    } },
109{    "skpc",    {"rbrwab",              0x3b    } },
110{    "movzwl",  {"rwwl",                0x3c    } },
111{    "acbw",    {"rwrwmwbw",            0x3d    } },
112{    "movaw",   {"awwl",                0x3e    } },
113{    "pushaw",  {"aw",                  0x3f    } },
114{    "addf2",   {"rfmf",                0x40    } },
115{    "addf3",   {"rfrfwf",              0x41    } },
116{    "subf2",   {"rfmf",                0x42    } },
117{    "subf3",   {"rfrfwf",              0x43    } },
118{    "mulf2",   {"rfmf",                0x44    } },
119{    "mulf3",   {"rfrfwf",              0x45    } },
120{    "divf2",   {"rfmf",                0x46    } },
121{    "divf3",   {"rfrfwf",              0x47    } },
122{    "cvtfb",   {"rfwb",                0x48    } },
123{    "cvtfw",   {"rfww",                0x49    } },
124{    "cvtfl",   {"rfwl",                0x4a    } },
125{    "cvtrfl",  {"rfwl",                0x4b    } },
126{    "cvtbf",   {"rbwf",                0x4c    } },
127{    "cvtwf",   {"rwwf",                0x4d    } },
128{    "cvtlf",   {"rlwf",                0x4e    } },
129{    "acbf",    {"rfrfmfbw",            0x4f    } },
130{    "movf",    {"rfwf",                0x50    } },
131{    "cmpf",    {"rfrf",                0x51    } },
132{    "mnegf",   {"rfwf",                0x52    } },
133{    "tstf",    {"rf",                  0x53    } },
134{    "emodf",   {"rfrbrfwlwf",          0x54    } },
135{    "polyf",   {"rfrwab",              0x55    } },
136{    "cvtfd",   {"rfwd",                0x56    } },
137                                        /* opcode 57 is not defined yet */
138{    "adawi",   {"rwmw",                0x58    } },
139                                        /* opcode 59 is not defined yet */
140                                        /* opcode 5a is not defined yet */
141                                        /* opcode 5b is not defined yet */
142{    "insqhi",  {"abaq",                0x5c    } },
143{    "insqti",  {"abaq",                0x5d    } },
144{    "remqhi",  {"aqwl",                0x5e    } },
145{    "remqti",  {"aqwl",                0x5f    } },
146{    "addd2",   {"rdmd",                0x60    } },
147{    "addd3",   {"rdrdwd",              0x61    } },
148{    "subd2",   {"rdmd",                0x62    } },
149{    "subd3",   {"rdrdwd",              0x63    } },
150{    "muld2",   {"rdmd",                0x64    } },
151{    "muld3",   {"rdrdwd",              0x65    } },
152{    "divd2",   {"rdmd",                0x66    } },
153{    "divd3",   {"rdrdwd",              0x67    } },
154{    "cvtdb",   {"rdwb",                0x68    } },
155{    "cvtdw",   {"rdww",                0x69    } },
156{    "cvtdl",   {"rdwl",                0x6a    } },
157{    "cvtrdl",  {"rdwl",                0x6b    } },
158{    "cvtbd",   {"rbwd",                0x6c    } },
159{    "cvtwd",   {"rwwd",                0x6d    } },
160{    "cvtld",   {"rlwd",                0x6e    } },
161{    "acbd",    {"rdrdmdbw",            0x6f    } },
162{    "movd",    {"rdwd",                0x70    } },
163{    "cmpd",    {"rdrd",                0x71    } },
164{    "mnegd",   {"rdwd",                0x72    } },
165{    "tstd",    {"rd",                  0x73    } },
166{    "emodd",   {"rdrbrdwlwd",          0x74    } },
167{    "polyd",   {"rdrwab",              0x75    } },
168{    "cvtdf",   {"rdwf",                0x76    } },
169                                        /* opcode 77 is not defined yet */
170{    "ashl",    {"rbrlwl",              0x78    } },
171{    "ashq",    {"rbrqwq",              0x79    } },
172{    "emul",    {"rlrlrlwq",            0x7a    } },
173{    "ediv",    {"rlrqwlwl",            0x7b    } },
174{    "clrd",    {"wd",                  0x7c    } },
175{    "clrg",    {"wg",                  0x7c    } },
176{    "clrq",    {"wd",                  0x7c    } },
177{    "movq",    {"rqwq",                0x7d    } },
178{    "movaq",   {"aqwl",                0x7e    } },
179{    "movad",   {"adwl",                0x7e    } },
180{    "pushaq",  {"aq",                  0x7f    } },
181{    "pushad",  {"ad",                  0x7f    } },
182{    "addb2",   {"rbmb",                0x80    } },
183{    "addb3",   {"rbrbwb",              0x81    } },
184{    "subb2",   {"rbmb",                0x82    } },
185{    "subb3",   {"rbrbwb",              0x83    } },
186{    "mulb2",   {"rbmb",                0x84    } },
187{    "mulb3",   {"rbrbwb",              0x85    } },
188{    "divb2",   {"rbmb",                0x86    } },
189{    "divb3",   {"rbrbwb",              0x87    } },
190{    "bisb2",   {"rbmb",                0x88    } },
191{    "bisb3",   {"rbrbwb",              0x89    } },
192{    "bicb2",   {"rbmb",                0x8a    } },
193{    "bicb3",   {"rbrbwb",              0x8b    } },
194{    "xorb2",   {"rbmb",                0x8c    } },
195{    "xorb3",   {"rbrbwb",              0x8d    } },
196{    "mnegb",   {"rbwb",                0x8e    } },
197{    "caseb",   {"rbrbrb",              0x8f    } },
198{    "movb",    {"rbwb",                0x90    } },
199{    "cmpb",    {"rbrb",                0x91    } },
200{    "mcomb",   {"rbwb",                0x92    } },
201{    "bitb",    {"rbrb",                0x93    } },
202{    "clrb",    {"wb",                  0x94    } },
203{    "tstb",    {"rb",                  0x95    } },
204{    "incb",    {"mb",                  0x96    } },
205{    "decb",    {"mb",                  0x97    } },
206{    "cvtbl",   {"rbwl",                0x98    } },
207{    "cvtbw",   {"rbww",                0x99    } },
208{    "movzbl",  {"rbwl",                0x9a    } },
209{    "movzbw",  {"rbww",                0x9b    } },
210{    "rotl",    {"rbrlwl",              0x9c    } },
211{    "acbb",    {"rbrbmbbw",            0x9d    } },
212{    "movab",   {"abwl",                0x9e    } },
213{    "pushab",  {"ab",                  0x9f    } },
214{    "addw2",   {"rwmw",                0xa0    } },
215{    "addw3",   {"rwrwww",              0xa1    } },
216{    "subw2",   {"rwmw",                0xa2    } },
217{    "subw3",   {"rwrwww",              0xa3    } },
218{    "mulw2",   {"rwmw",                0xa4    } },
219{    "mulw3",   {"rwrwww",              0xa5    } },
220{    "divw2",   {"rwmw",                0xa6    } },
221{    "divw3",   {"rwrwww",              0xa7    } },
222{    "bisw2",   {"rwmw",                0xa8    } },
223{    "bisw3",   {"rwrwww",              0xa9    } },
224{    "bicw2",   {"rwmw",                0xaa    } },
225{    "bicw3",   {"rwrwww",              0xab    } },
226{    "xorw2",   {"rwmw",                0xac    } },
227{    "xorw3",   {"rwrwww",              0xad    } },
228{    "mnegw",   {"rwww",                0xae    } },
229{    "casew",   {"rwrwrw",              0xaf    } },
230{    "movw",    {"rwww",                0xb0    } },
231{    "cmpw",    {"rwrw",                0xb1    } },
232{    "mcomw",   {"rwww",                0xb2    } },
233{    "bitw",    {"rwrw",                0xb3    } },
234{    "clrw",    {"ww",                  0xb4    } },
235{    "tstw",    {"rw",                  0xb5    } },
236{    "incw",    {"mw",                  0xb6    } },
237{    "decw",    {"mw",                  0xb7    } },
238{    "bispsw",  {"rw",                  0xb8    } },
239{    "bicpsw",  {"rw",                  0xb9    } },
240{    "popr",    {"rw",                  0xba    } },
241{    "pushr",   {"rw",                  0xbb    } },
242{    "chmk",    {"rw",                  0xbc    } },
243{    "chme",    {"rw",                  0xbd    } },
244{    "chms",    {"rw",                  0xbe    } },
245{    "chmu",    {"rw",                  0xbf    } },
246{    "addl2",   {"rlml",                0xc0    } },
247{    "addl3",   {"rlrlwl",              0xc1    } },
248{    "subl2",   {"rlml",                0xc2    } },
249{    "subl3",   {"rlrlwl",              0xc3    } },
250{    "mull2",   {"rlml",                0xc4    } },
251{    "mull3",   {"rlrlwl",              0xc5    } },
252{    "divl2",   {"rlml",                0xc6    } },
253{    "divl3",   {"rlrlwl",              0xc7    } },
254{    "bisl2",   {"rlml",                0xc8    } },
255{    "bisl3",   {"rlrlwl",              0xc9    } },
256{    "bicl2",   {"rlml",                0xca    } },
257{    "bicl3",   {"rlrlwl",              0xcb    } },
258{    "xorl2",   {"rlml",                0xcc    } },
259{    "xorl3",   {"rlrlwl",              0xcd    } },
260{    "mnegl",   {"rlwl",                0xce    } },
261{    "casel",   {"rlrlrl",              0xcf    } },
262{    "movl",    {"rlwl",                0xd0    } },
263{    "cmpl",    {"rlrl",                0xd1    } },
264{    "mcoml",   {"rlwl",                0xd2    } },
265{    "bitl",    {"rlrl",                0xd3    } },
266{    "clrf",    {"wf",                  0xd4    } },
267{    "clrl",    {"wl",                  0xd4    } },
268{    "tstl",    {"rl",                  0xd5    } },
269{    "incl",    {"ml",                  0xd6    } },
270{    "decl",    {"ml",                  0xd7    } },
271{    "adwc",    {"rlml",                0xd8    } },
272{    "sbwc",    {"rlml",                0xd9    } },
273{    "mtpr",    {"rlrl",                0xda    } },
274{    "mfpr",    {"rlwl",                0xdb    } },
275{    "movpsl",  {"wl",                  0xdc    } },
276{    "pushl",   {"rl",                  0xdd    } },
277{    "moval",   {"alwl",                0xde    } },
278{    "movaf",   {"afwl",                0xde    } },
279{    "pushal",  {"al",                  0xdf    } },
280{    "pushaf",  {"af",                  0xdf    } },
281{    "bbs",     {"rlvbbb",              0xe0    } },
282{    "bbc",     {"rlvbbb",              0xe1    } },
283{    "bbss",    {"rlvbbb",              0xe2    } },
284{    "bbcs",    {"rlvbbb",              0xe3    } },
285{    "bbsc",    {"rlvbbb",              0xe4    } },
286{    "bbcc",    {"rlvbbb",              0xe5    } },
287{    "bbssi",   {"rlvbbb",              0xe6    } },
288{    "bbcci",   {"rlvbbb",              0xe7    } },
289{    "blbs",    {"rlbb",                0xe8    } },
290{    "blbc",    {"rlbb",                0xe9    } },
291{    "ffs",     {"rlrbvbwl",            0xea    } },
292{    "ffc",     {"rlrbvbwl",            0xeb    } },
293{    "cmpv",    {"rlrbvbrl",            0xec    } },
294{    "cmpzv",   {"rlrbvbrl",            0xed    } },
295{    "extv",    {"rlrbvbwl",            0xee    } },
296{    "extzv",   {"rlrbvbwl",            0xef    } },
297{    "insv",    {"rlrlrbvb",            0xf0    } },
298{    "acbl",    {"rlrlmlbw",            0xf1    } },
299{    "aoblss",  {"rlmlbb",              0xf2    } },
300{    "aobleq",  {"rlmlbb",              0xf3    } },
301{    "sobgeq",  {"mlbb",                0xf4    } },
302{    "sobgtr",  {"mlbb",                0xf5    } },
303{    "cvtlb",   {"rlwb",                0xf6    } },
304{    "cvtlw",   {"rlww",                0xf7    } },
305{    "ashp",    {"rbrwabrbrwab",        0xf8    } },
306{    "cvtlp",   {"rlrwab",              0xf9    } },
307{    "callg",   {"abab",                0xfa    } },
308{    "calls",   {"rlab",                0xfb    } },
309{    "xfc",     {"",                    0xfc    } },
310                                        /* undefined opcodes here */
311{    "cvtdh",   {"rdwh",                0x32fd  } },
312{    "cvtgf",   {"rgwh",                0x33fd  } },
313{    "addg2",   {"rgmg",                0x40fd  } },
314{    "addg3",   {"rgrgwg",              0x41fd  } },
315{    "subg2",   {"rgmg",                0x42fd  } },
316{    "subg3",   {"rgrgwg",              0x43fd  } },
317{    "mulg2",   {"rgmg",                0x44fd  } },
318{    "mulg3",   {"rgrgwg",              0x45fd  } },
319{    "divg2",   {"rgmg",                0x46fd  } },
320{    "divg3",   {"rgrgwg",              0x47fd  } },
321{    "cvtgb",   {"rgwb",                0x48fd  } },
322{    "cvtgw",   {"rgww",                0x49fd  } },
323{    "cvtgl",   {"rgwl",                0x4afd  } },
324{    "cvtrgl",  {"rgwl",                0x4bfd  } },
325{    "cvtbg",   {"rbwg",                0x4cfd  } },
326{    "cvtwg",   {"rwwg",                0x4dfd  } },
327{    "cvtlg",   {"rlwg",                0x4efd  } },
328{    "acbg",    {"rgrgmgbw",            0x4ffd  } },
329{    "movg",    {"rgwg",                0x50fd  } },
330{    "cmpg",    {"rgrg",                0x51fd  } },
331{    "mnegg",   {"rgwg",                0x52fd  } },
332{    "tstg",    {"rg",                  0x53fd  } },
333{    "emodg",   {"rgrwrgwlwg",          0x54fd  } },
334{    "polyg",   {"rgrwab",              0x55fd  } },
335{    "cvtgh",   {"rgwh",                0x56fd  } },
336                                        /* undefined opcodes here */
337{    "addh2",   {"rhmh",                0x60fd  } },
338{    "addh3",   {"rhrhwh",              0x61fd  } },
339{    "subh2",   {"rhmh",                0x62fd  } },
340{    "subh3",   {"rhrhwh",              0x63fd  } },
341{    "mulh2",   {"rhmh",                0x64fd  } },
342{    "mulh3",   {"rhrhwh",              0x65fd  } },
343{    "divh2",   {"rhmh",                0x66fd  } },
344{    "divh3",   {"rhrhwh",              0x67fd  } },
345{    "cvthb",   {"rhwb",                0x68fd  } },
346{    "cvthw",   {"rhww",                0x69fd  } },
347{    "cvthl",   {"rhwl",                0x6afd  } },
348{    "cvtrhl",  {"rhwl",                0x6bfd  } },
349{    "cvtbh",   {"rbwh",                0x6cfd  } },
350{    "cvtwh",   {"rwwh",                0x6dfd  } },
351{    "cvtlh",   {"rlwh",                0x6efd  } },
352{    "acbh",    {"rhrhmhbw",            0x6ffd  } },
353{    "movh",    {"rhwh",                0x70fd  } },
354{    "cmph",    {"rhrh",                0x71fd  } },
355{    "mnegh",   {"rhwh",                0x72fd  } },
356{    "tsth",    {"rh",                  0x73fd  } },
357{    "emodh",   {"rhrwrhwlwh",          0x74fd  } },
358{    "polyh",   {"rhrwab",              0x75fd  } },
359{    "cvthg",   {"rhwg",                0x76fd  } },
360                                        /* undefined opcodes here */
361{    "clrh",    {"wh",                  0x7cfd  } },
362{    "clro",    {"wo",                  0x7cfd  } },
363{    "movo",    {"rowo",                0x7dfd  } },
364{    "movah",   {"ahwl",                0x7efd  } },
365{    "movao",   {"aowl",                0x7efd  } },
366{    "pushah",  {"ah",                  0x7ffd  } },
367{    "pushao",  {"ao",                  0x7ffd  } },
368                                        /* undefined opcodes here */
369{    "cvtfh",   {"rfwh",                0x98fd  } },
370{    "cvtfg",   {"rfwg",                0x99fd  } },
371                                        /* undefined opcodes here */
372{    "cvthf",   {"rhwf",                0xf6fd  } },
373{    "cvthd",   {"rhwd",                0xf7fd  } },
374                                        /* undefined opcodes here */
375{    "bugl",    {"rl",                  0xfdff  } },
376{    "bugw",    {"rw",                  0xfeff  } },
377                                        /* undefined opcodes here */
378
379{      "",      {"", 0} }               /* empty is end sentinel */
380
381};                              /* votstrs */
382
383/* end: vax.opcode.h */
Note: See TracBrowser for help on using the repository browser.