1 /* Opcode table for PDP-11.
2 Copyright 2001, 2002 Free Software Foundation, Inc.
4 This file is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
18 #include "opcode/pdp11.h"
20 const struct pdp11_opcode pdp11_opcodes
[] =
22 /* name, pattern, mask, opcode type, insn type, alias */
23 { "halt", 0x0000, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
24 { "wait", 0x0001, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
25 { "rti", 0x0002, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
26 { "bpt", 0x0003, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
27 { "iot", 0x0004, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
28 { "reset", 0x0005, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
29 { "rtt", 0x0006, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_LEIS
},
30 { "mfpt", 0x0007, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_MFPT
},
31 { "jmp", 0x0040, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
32 { "rts", 0x0080, 0xfff8, PDP11_OPCODE_REG
, PDP11_BASIC
},
33 { "", 0x0088, 0xfff8, PDP11_OPCODE_ILLEGAL
, PDP11_NONE
},
34 { "", 0x0090, 0xfff8, PDP11_OPCODE_ILLEGAL
, PDP11_NONE
},
35 { "spl", 0x0098, 0xfff8, PDP11_OPCODE_IMM3
, PDP11_SPL
},
36 { "nop", 0x00a0, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
37 { "clc", 0x00a1, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
38 { "clv", 0x00a2, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
39 { "cl_3", 0x00a3, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
40 { "clz", 0x00a4, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
41 { "cl_5", 0x00a5, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
42 { "cl_6", 0x00a6, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
43 { "cl_7", 0x00a7, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
44 { "cln", 0x00a8, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
45 { "cl_9", 0x00a9, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
46 { "cl_a", 0x00aa, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
47 { "cl_b", 0x00ab, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
48 { "cl_c", 0x00ac, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
49 { "cl_d", 0x00ad, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
50 { "cl_e", 0x00ae, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
51 { "ccc", 0x00af, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
52 { "se_0", 0x00b0, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
53 { "sec", 0x00a1, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
54 { "sev", 0x00b2, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
55 { "se_3", 0x00b3, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
56 { "sez", 0x00b4, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
57 { "se_5", 0x00b5, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
58 { "se_6", 0x00b6, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
59 { "se_7", 0x00b7, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
60 { "sen", 0x00b8, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
61 { "se_9", 0x00b9, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
62 { "se_a", 0x00ba, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
63 { "se_b", 0x00bb, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
64 { "se_c", 0x00bc, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
65 { "se_d", 0x00bd, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
66 { "se_e", 0x00be, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
67 { "scc", 0x00bf, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_BASIC
},
68 { "swab", 0x00c0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
69 { "br", 0x0100, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
70 { "bne", 0x0200, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
71 { "beq", 0x0300, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
72 { "bge", 0x0400, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
73 { "blt", 0x0500, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
74 { "bgt", 0x0600, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
75 { "ble", 0x0700, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
76 { "jsr", 0x0800, 0xfe00, PDP11_OPCODE_REG_OP
, PDP11_BASIC
},
77 { "clr", 0x0a00, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
78 { "com", 0x0a40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
79 { "inc", 0x0a80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
80 { "dec", 0x0ac0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
81 { "neg", 0x0b00, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
82 { "adc", 0x0b40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
83 { "sbc", 0x0b80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
84 { "tst", 0x0bc0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
85 { "ror", 0x0c00, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
86 { "rol", 0x0c40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
87 { "asr", 0x0c80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
88 { "asl", 0x0cc0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
89 { "mark", 0x0d00, 0xffc0, PDP11_OPCODE_IMM6
, PDP11_LEIS
},
90 { "mfpi", 0x0d40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
91 { "mtpi", 0x0d80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
92 { "sxt", 0x0dc0, 0xffc0, PDP11_OPCODE_OP
, PDP11_LEIS
},
93 { "csm", 0x0e00, 0xffc0, PDP11_OPCODE_OP
, PDP11_CSM
},
94 { "tstset", 0x0e40, 0xffc0, PDP11_OPCODE_OP
, PDP11_MPROC
},
95 { "wrtlck", 0x0e80, 0xffc0, PDP11_OPCODE_OP
, PDP11_MPROC
},
96 /*{ "", 0x0ec0, 0xffe0, PDP11_OPCODE_ILLEGAL, PDP11_NONE },*/
97 { "mov", 0x1000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
98 { "cmp", 0x2000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
99 { "bit", 0x3000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
100 { "bic", 0x4000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
101 { "bis", 0x5000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
102 { "add", 0x6000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
103 { "mul", 0x7000, 0xfe00, PDP11_OPCODE_REG_OP_REV
,PDP11_EIS
},
104 { "div", 0x7200, 0xfe00, PDP11_OPCODE_REG_OP_REV
,PDP11_EIS
},
105 { "ash", 0x7400, 0xfe00, PDP11_OPCODE_REG_OP_REV
,PDP11_EIS
},
106 { "ashc", 0x7600, 0xfe00, PDP11_OPCODE_REG_OP_REV
,PDP11_EIS
},
107 { "xor", 0x7800, 0xfe00, PDP11_OPCODE_REG_OP
, PDP11_LEIS
},
108 { "fadd", 0x7a00, 0xfff8, PDP11_OPCODE_REG
, PDP11_FIS
},
109 { "fsub", 0x7a08, 0xfff8, PDP11_OPCODE_REG
, PDP11_FIS
},
110 { "fmul", 0x7a10, 0xfff8, PDP11_OPCODE_REG
, PDP11_FIS
},
111 { "fdiv", 0x7a18, 0xfff8, PDP11_OPCODE_REG
, PDP11_FIS
},
112 /*{ "", 0x7a20, 0xffe0, PDP11_OPCODE_ILLEGAL, PDP11_NONE },*/
113 /*{ "", 0x7a40, 0xffc0, PDP11_OPCODE_ILLEGAL, PDP11_NONE },*/
114 /*{ "", 0x7a80, 0xff80, PDP11_OPCODE_ILLEGAL, PDP11_NONE },*/
115 /*{ "", 0x7b00, 0xffe0, PDP11_OPCODE_ILLEGAL, PDP11_NONE },*/
116 { "l2dr", 0x7c10, 0xfff8, PDP11_OPCODE_REG
, PDP11_CIS
},/*l2d*/
117 { "movc", 0x7c18, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
118 { "movrc", 0x7c19, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
119 { "movtc", 0x7c1a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
120 { "locc", 0x7c20, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
121 { "skpc", 0x7c21, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
122 { "scanc", 0x7c22, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
123 { "spanc", 0x7c23, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
124 { "cmpc", 0x7c24, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
125 { "matc", 0x7c25, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
126 { "addn", 0x7c28, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
127 { "subn", 0x7c29, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
128 { "cmpn", 0x7c2a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
129 { "cvtnl", 0x7c2b, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
130 { "cvtpn", 0x7c2c, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
131 { "cvtnp", 0x7c2d, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
132 { "ashn", 0x7c2e, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
133 { "cvtln", 0x7c2f, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
134 { "l3dr", 0x7c30, 0xfff8, PDP11_OPCODE_REG
, PDP11_CIS
},/*l3d*/
135 { "addp", 0x7c38, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
136 { "subp", 0x7c39, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
137 { "cmpp", 0x7c3a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
138 { "cvtpl", 0x7c3b, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
139 { "mulp", 0x7c3c, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
140 { "divp", 0x7c3d, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
141 { "ashp", 0x7c3e, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
142 { "cvtlp", 0x7c3f, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
143 { "movci", 0x7c58, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
144 { "movrci", 0x7c59, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
145 { "movtci", 0x7c5a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
146 { "locci", 0x7c60, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
147 { "skpci", 0x7c61, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
148 { "scanci", 0x7c62, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
149 { "spanci", 0x7c63, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
150 { "cmpci", 0x7c64, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
151 { "matci", 0x7c65, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
152 { "addni", 0x7c68, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
153 { "subni", 0x7c69, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
154 { "cmpni", 0x7c6a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
155 { "cvtnli", 0x7c6b, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
156 { "cvtpni", 0x7c6c, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
157 { "cvtnpi", 0x7c6d, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
158 { "ashni", 0x7c6e, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
159 { "cvtlni", 0x7c6f, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
160 { "addpi", 0x7c78, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
161 { "subpi", 0x7c79, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
162 { "cmppi", 0x7c7a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
163 { "cvtpli", 0x7c7b, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
164 { "mulpi", 0x7c7c, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
165 { "divpi", 0x7c7d, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
166 { "ashpi", 0x7c7e, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
167 { "cvtlpi", 0x7c7f, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_CIS
},
168 { "med", 0x7d80, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_UCODE
},
169 { "xfc", 0x7dc0, 0xffc0, PDP11_OPCODE_IMM6
, PDP11_UCODE
},
170 { "sob", 0x7e00, 0xfe00, PDP11_OPCODE_REG_DISPL
, PDP11_LEIS
},
171 { "bpl", 0x8000, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
172 { "bmi", 0x8100, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
173 { "bhi", 0x8200, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
174 { "blos", 0x8300, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
175 { "bvc", 0x8400, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
176 { "bvs", 0x8500, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
177 { "bcc", 0x8600, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},/*bhis*/
178 { "bcs", 0x8700, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},/*blo*/
179 { "emt", 0x8800, 0xff00, PDP11_OPCODE_IMM8
, PDP11_BASIC
},
180 { "sys", 0x8900, 0xff00, PDP11_OPCODE_IMM8
, PDP11_BASIC
},/*trap*/
181 { "clrb", 0x8a00, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
182 { "comb", 0x8a40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
183 { "incb", 0x8a80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
184 { "decb", 0x8ac0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
185 { "negb", 0x8b00, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
186 { "adcb", 0x8b40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
187 { "sbcb", 0x8b80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
188 { "tstb", 0x8bc0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
189 { "rorb", 0x8c00, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
190 { "rolb", 0x8c40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
191 { "asrb", 0x8c80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
192 { "aslb", 0x8cc0, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
193 { "mtps", 0x8d00, 0xffc0, PDP11_OPCODE_OP
, PDP11_MXPS
},
194 { "mfpd", 0x8d40, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
195 { "mtpd", 0x8d80, 0xffc0, PDP11_OPCODE_OP
, PDP11_BASIC
},
196 { "mfps", 0x8dc0, 0xffc0, PDP11_OPCODE_OP
, PDP11_MXPS
},
197 { "movb", 0x9000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
198 { "cmpb", 0xa000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
199 { "bitb", 0xb000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
200 { "bicb", 0xc000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
201 { "bisb", 0xd000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
202 { "sub", 0xe000, 0xf000, PDP11_OPCODE_OP_OP
, PDP11_BASIC
},
203 { "cfcc", 0xf000, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_FPP
},
204 { "setf", 0xf001, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_FPP
},
205 { "seti", 0xf002, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_FPP
},
206 { "ldub", 0xf003, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_UCODE
},
207 /* fpp trap 0xf004..0xf008 */
208 { "setd", 0xf009, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_FPP
},
209 { "setl", 0xf00a, 0xffff, PDP11_OPCODE_NO_OPS
, PDP11_FPP
},
210 /* fpp trap 0xf00b..0xf03f */
211 { "ldfps", 0xf040, 0xffc0, PDP11_OPCODE_OP
, PDP11_FPP
},
212 { "stfps", 0xf080, 0xffc0, PDP11_OPCODE_OP
, PDP11_FPP
},
213 { "stst", 0xf0c0, 0xffc0, PDP11_OPCODE_OP
, PDP11_FPP
},
214 { "clrf", 0xf100, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
215 { "tstf", 0xf140, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
216 { "absf", 0xf180, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
217 { "negf", 0xf1c0, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
218 { "mulf", 0xf200, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
219 { "modf", 0xf300, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
220 { "addf", 0xf400, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
221 { "ldf", 0xf500, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},/*movif*/
222 { "subf", 0xf600, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
223 { "cmpf", 0xf700, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
224 { "stf", 0xf800, 0xff00, PDP11_OPCODE_AC_FOP
, PDP11_FPP
},/*movfi*/
225 { "divf", 0xf900, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
226 { "stexp", 0xfa00, 0xff00, PDP11_OPCODE_AC_OP
, PDP11_FPP
},
227 { "stcfi", 0xfb00, 0xff00, PDP11_OPCODE_AC_OP
, PDP11_FPP
},
228 { "stcff", 0xfc00, 0xff00, PDP11_OPCODE_AC_FOP
, PDP11_FPP
},/* ? */
229 { "ldexp", 0xfd00, 0xff00, PDP11_OPCODE_OP_AC
, PDP11_FPP
},
230 { "ldcif", 0xfe00, 0xff00, PDP11_OPCODE_OP_AC
, PDP11_FPP
},
231 { "ldcff", 0xff00, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},/* ? */
232 /* This entry MUST be last; it is a "catch-all" entry that will match when no
233 * other opcode entry matches during disassembly.
235 { "", 0x0000, 0x0000, PDP11_OPCODE_ILLEGAL
, PDP11_NONE
},
238 const struct pdp11_opcode pdp11_aliases
[] =
240 /* name, pattern, mask, opcode type, insn type */
241 { "l2d", 0x7c10, 0xfff8, PDP11_OPCODE_REG
, PDP11_CIS
},
242 { "l3d", 0x7c30, 0xfff8, PDP11_OPCODE_REG
, PDP11_CIS
},
243 { "bhis", 0x8600, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
244 { "blo", 0x8700, 0xff00, PDP11_OPCODE_DISPL
, PDP11_BASIC
},
245 { "trap", 0x8900, 0xff00, PDP11_OPCODE_IMM8
, PDP11_BASIC
},
246 /* fpp xxxd alternate names to xxxf opcodes */
247 { "clrd", 0xf100, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
248 { "tstd", 0xf140, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
249 { "absd", 0xf180, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
250 { "negd", 0xf1c0, 0xffc0, PDP11_OPCODE_FOP
, PDP11_FPP
},
251 { "muld", 0xf200, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
252 { "modd", 0xf300, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
253 { "addd", 0xf400, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
254 { "ldd", 0xf500, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},/*movif*/
255 { "subd", 0xf600, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
256 { "cmpd", 0xf700, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
257 { "std", 0xf800, 0xff00, PDP11_OPCODE_AC_FOP
, PDP11_FPP
},/*movfi*/
258 { "divd", 0xf900, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},
259 { "stcfl", 0xfb00, 0xff00, PDP11_OPCODE_AC_OP
, PDP11_FPP
},
260 { "stcdi", 0xfb00, 0xff00, PDP11_OPCODE_AC_OP
, PDP11_FPP
},
261 { "stcdl", 0xfb00, 0xff00, PDP11_OPCODE_AC_OP
, PDP11_FPP
},
262 { "stcfd", 0xfc00, 0xff00, PDP11_OPCODE_AC_FOP
, PDP11_FPP
},/* ? */
263 { "stcdf", 0xfc00, 0xff00, PDP11_OPCODE_AC_FOP
, PDP11_FPP
},/* ? */
264 { "ldcid", 0xfe00, 0xff00, PDP11_OPCODE_OP_AC
, PDP11_FPP
},
265 { "ldclf", 0xfe00, 0xff00, PDP11_OPCODE_OP_AC
, PDP11_FPP
},
266 { "ldcld", 0xfe00, 0xff00, PDP11_OPCODE_OP_AC
, PDP11_FPP
},
267 { "ldcfd", 0xff00, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},/* ? */
268 { "ldcdf", 0xff00, 0xff00, PDP11_OPCODE_FOP_AC
, PDP11_FPP
},/* ? */
271 const int pdp11_num_opcodes
= sizeof pdp11_opcodes
/ sizeof pdp11_opcodes
[0];
272 const int pdp11_num_aliases
= sizeof pdp11_aliases
/ sizeof pdp11_aliases
[0];