Subversion Repositories Kolibri OS

Rev

Rev 5191 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5191 serge 1
/* Vax opcde list.
6324 serge 2
   Copyright (C) 1989-2015 Free Software Foundation, Inc.
5191 serge 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
 
25
struct 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
 
32
struct 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
 
43
static const struct vot
44
votstrs[] =
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 */