xref: /original-bsd/sys/tahoe/align/table.c (revision b65ab6e5)
1 /*-
2  * Copyright (c) 1986 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Computer Consoles Inc.
7  *
8  * %sccs.include.redist.c%
9  *
10  *	@(#)table.c	7.1 (Berkeley) 12/06/90
11  */
12 
13 #include "align.h"
14 /*   WARNING !!!  Do not use register 6 and register 7 in any of the emulation
15  *       code.  The macro Set_psl has use these two registers to set the
16  *       user psl to the current kernel psl.
17  *
18  */
19 
20 #define	insque	cannot_do	/* Can't emulate un-interruptable opcode ! */
21 #define	remque	cannot_do	/* Can't emulate un-interruptable opcode ! */
22 #define	addb2	add2
23 #define	addb3	add3
24 #define	addl2	add2
25 #define	addl3	add3
26 #define	addw2	add2
27 #define	addw3	add3
28 #define	andb2	and2
29 #define	andb3	and3
30 #define	andl2	and2
31 #define	andl3	and3
32 #define	andw2	and2
33 #define	andw3	and3
34 #define	atanf	not_needed
35 #define	kcall	cannot_do	/* Too complicated to emulate completely */
36 #define	bbssi	cannot_do	/* Interlock memory during emulation ??? */
37 #define	bcc	not_needed
38 #define	bcs	not_needed
39 #define	beql	not_needed
40 #define	bgeq	not_needed
41 #define	bgtr	not_needed
42 #define	bgtru	not_needed
43 #define	bitb	bit
44 #define	bitl	bit
45 #define	bitw	bit
46 #define	bleq	not_needed
47 #define	blequ	not_needed
48 #define	blss	not_needed
49 #define	bnequ	not_needed
50 #define	bpt	not_needed
51 #define	brb	not_needed
52 #define	brw	not_needed
53 #define	bvc	not_needed
54 #define	bvs	not_needed
55 #define	callf	not_needed
56 #define	calls	not_needed
57 #define	clrb	clr
58 #define	clrl	clr
59 #define	clrw	clr
60 #define	cmpb	cmp
61 #define	cmpl	cmp
62 #define	cmps2	not_needed
63 #define	cmps3	not_needed
64 #define	cmpw	cmp
65 #define	cosf	not_needed
66 #define	cvdf	not_needed
67 #define	cvtbl	cvt
68 #define	cvtbw	cvt
69 #define	cvtwl	cvt
70 #define	cvtwb	cvtlb
71 #define	decb	dec
72 #define	decl	dec
73 #define	decw	dec
74 #define	expf	not_needed
75 #define	ffs	ffs_op
76 #define	incb	inc
77 #define	incl	inc
78 #define	incw	inc
79 #define	ldpctx	not_needed
80 #define	logf	not_needed
81 #define	mcomb	mcom
82 #define	mcoml	mcom
83 #define	mcomw	mcom
84 #define	mnegb	mneg
85 #define	mnegl	mneg
86 #define	mnegw	mneg
87 #define	movab	mova
88 #define	moval	mova
89 #define	movaw	mova
90 #define	movow	cannot_do	/* 2 X movob != movow !! See any HW spec ! */
91 #define movob	movob_op
92 #define	movb	mov
93 #define	movblk	not_needed
94 #define	movl	mov
95 #define	movs2	not_needed
96 #define	movs3	not_needed
97 #define	movw	mov
98 #define	negd	not_needed
99 #define	negf	not_needed
100 #define	nop	not_needed
101 #define	orb2	or2
102 #define	orb3	or3
103 #define	orl2	or2
104 #define	orl3	or3
105 #define	orw2	or2
106 #define	orw3	or3
107 #define	pushab	pusha
108 #define	pushal	pusha
109 #define	pushaw	pusha
110 #define	pushb	pushx
111 #define	pushd	not_needed
112 #define	pushl	pushx
113 #define	pushw	pushx
114 #define	rei	not_needed
115 #define	ret	not_needed
116 #define	sinf	not_needed
117 #define	sqrtf	not_needed
118 #define	subb2	sub2
119 #define	subb3	sub3
120 #define	subl2	sub2
121 #define	subl3	sub3
122 #define	subw2	sub2
123 #define	subw3	sub3
124 #define	svpctx	not_needed
125 #define	tstb	tst
126 #define	tstd	not_needed
127 #define	tstf	not_needed
128 #define	tstl	tst
129 #define	tstw	tst
130 #define	xorb2	xor2
131 #define	xorb3	xor3
132 #define	xorl2	xor2
133 #define	xorl3	xor3
134 #define	xorw2	xor2
135 #define	xorw3	xor3
136 #define movzbl	movzb
137 #define movzbw	movzb
138 #define	halt	not_needed		/* Privileged to user */
139 #define	illegal	not_needed		/* Should be trapped by HW */
140 #define	mtpr	not_needed		/* Privileged to user */
141 #define	mfpr	not_needed		/* Privileged to user */
142 #define	btcs	not_needed		/* Privileged to user */
143 
144 int	add2();
145 int	add3();
146 int	adda();
147 int	addd();
148 int	addf();
149 int	adwc();
150 int	and2();
151 int	and3();
152 int	aobleq();
153 int	aoblss();
154 int	bbc();
155 int	bbs();
156 int	bbssi();
157 int	bcc();
158 int	bcs();
159 int	beql();
160 int	bgeq();
161 int	bgtr();
162 int	bgtru();
163 int	bicpsw();
164 int	bispsw();
165 int	bit();
166 int	bleq();
167 int	blequ();
168 int	blss();
169 int	bnequ();
170 int	btcs();
171 int	bvc();
172 int	bvs();
173 int	call();
174 int	casel();
175 int	clr();
176 int	cmp();
177 int	cmpd();
178 int	cmpd2();
179 int	cmpf();
180 int	cmpf2();
181 int	cvdl();
182 int	cvfl();
183 int	cvld();
184 int	cvlf();
185 int	cvt();
186 int	cvt();
187 int	cvtlb();
188 int	cvtlw();
189 int	dec();
190 int	divd();
191 int	divf();
192 int	divl2();
193 int	divl3();
194 int	ediv();
195 int	emul();
196 int	ffc();
197 int	ffs_op();
198 int	halt();
199 int	illegal();
200 int	inc();
201 int	insque();
202 int	jmp();
203 int	kcall();
204 int	ldd();
205 int	ldf();
206 int	ldfd();
207 int	lnd();
208 int	lnf();
209 int	loadr();
210 int	mcom();
211 int	mfpr();
212 int	mneg();
213 int	mov();
214 int	mova();
215 int	movob_op();
216 int	movow();
217 int	movpsl();
218 int	movzb();
219 int	movzwl();
220 int	mtpr();
221 int	muld();
222 int	mulf();
223 int	mull2();
224 int	mull3();
225 int	or2();
226 int	or3();
227 int	prober();
228 int	probew();
229 int	pusha();
230 int	pushx();
231 int	remque();
232 int	sbwc();
233 int	shal();
234 int	shar();
235 int	shll();
236 int	shlq();
237 int	shrl();
238 int	shrq();
239 int	std();
240 int	stf();
241 int	storer();
242 int	sub2();
243 int	sub3();
244 int	suba();
245 int	subd();
246 int	subf();
247 int	tst();
248 int	xor2();
249 int	xor3();
250 int	not_needed();
251 
252 
253 /**************************************************/
254 /*  The great opcodes table, it drives everything */
255 /**************************************************/
256 
257 struct	opcode_des	Table[]= {
258 
259 /* 00 */ halt      ,   0,   0,   0,   0,   0,   0,   0,   0,
260 /* 01 */ halt      ,   0,   0,   0,   0,   0,   0,   0,   0,
261 /* 02 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
262 /* 03 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
263 /* 04 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
264 /* 05 */ sinf      ,   0,   0,   0,   0,   0,   0,   0,   0,
265 /* 06 */ ldf       ,RADF,   4,   0,   0,   0,   0,   0,   0,
266 /* 07 */ ldd       ,RADF,   8,   0,   0,   0,   0,   0,   0,
267 /* 08 */ addb2     ,RADI,   1, MAD,   1,   0,   0,   0,   0,
268 /* 09 */ movb      ,RADI,   1,NWAD,   1,   0,   0,   0,   0,
269 /* 0A */ addw2     ,RADI,   2, MAD,   2,   0,   0,   0,   0,
270 /* 0B */ movw      ,RADI,   2,NWAD,   2,   0,   0,   0,   0,
271 /* 0C */ addl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
272 /* 0D */ movl      ,RADI,   4,NWAD,   4,   0,   0,   0,   0,
273 /* 0E */ bbs       ,RADI,   4, RAD,   4, Brd,   2,   0,   0,
274 /* 0F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
275 /* 10 */ nop       ,   0,   0,   0,   0,   0,   0,   0,   0,
276 /* 11 */ brb       , Brd,   1,   0,   0,   0,   0,   0,   0,
277 /* 12 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
278 /* 13 */ brw       , Brd,   2,   0,   0,   0,   0,   0,   0,
279 /* 14 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
280 /* 15 */ cosf      ,   0,   0,   0,   0,   0,   0,   0,   0,
281 /* 16 */ lnf       ,RADF,   4,   0,   0,   0,   0,   0,   0,
282 /* 17 */ lnd       ,RADF,   8,   0,   0,   0,   0,   0,   0,
283 /* 18 */ addb3     ,RADI,   1,RADI,   1, WAD,   1,   0,   0,
284 /* 19 */ cmpb      ,RADI,   1,RADI,   1,   0,   0,   0,   0,
285 /* 1A */ addw3     ,RADI,   2,RADI,   2, WAD,   2,   0,   0,
286 /* 1B */ cmpw      ,RADI,   2,RADI,   2,   0,   0,   0,   0,
287 /* 1C */ addl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
288 /* 1D */ cmpl      ,RADI,   4,RADI,   4,   0,   0,   0,   0,
289 /* 1E */ bbc       ,RADI,   4, RAD,   4, Brd,   2,   0,   0,
290 /* 1F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
291 /* 20 */ rei       ,   0,   0,   0,   0,   0,   0,   0,   0,
292 /* 21 */ bnequ     , Brd,   1,   0,   0,   0,   0,   0,   0,
293 /* 22 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
294 /* 23 */ cvtwl     ,RADI,   2, WAD,   4,   0,   0,   0,   0,
295 /* 24 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
296 /* 25 */ atanf     ,   0,   0,   0,   0,   0,   0,   0,   0,
297 /* 26 */ stf       , WAD,   4,   0,   0,   0,   0,   0,   0,
298 /* 27 */ std       , WAD,   8,   0,   0,   0,   0,   0,   0,
299 /* 28 */ subb2     ,RADI,   1, MAD,   1,   0,   0,   0,   0,
300 /* 29 */ mcomb     ,RADI,   1,NWAD,   1,   0,   0,   0,   0,
301 /* 2A */ subw2     ,RADI,   2, MAD,   2,   0,   0,   0,   0,
302 /* 2B */ mcomw     ,RADI,   2,NWAD,   2,   0,   0,   0,   0,
303 /* 2C */ subl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
304 /* 2D */ mcoml     ,RADI,   4, WAD,   4,   0,   0,   0,   0,
305 /* 2E */ emul      ,RADI,   4,RADI,   4,RADI,   4, WAD,   8,
306 /* 2F */ aoblss    ,RADI,   4, MAD,   4, Brd,   2,   0,   0,
307 /* 30 */ bpt       ,   0,   0,   0,   0,   0,   0,   0,   0,
308 /* 31 */ beql      , Brd,   1,   0,   0,   0,   0,   0,   0,
309 /* 32 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
310 /* 33 */ cvtwb     ,RADI,   2, WAD,   1,   0,   0,   0,   0,
311 /* 34 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
312 /* 35 */ logf      ,   0,   0,   0,   0,   0,   0,   0,   0,
313 /* 36 */ cmpf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
314 /* 37 */ cmpd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
315 /* 38 */ subb3     ,RADI,   1,RADI,   1, WAD,   1,   0,   0,
316 /* 39 */ bitb      ,RADI,   1,RADI,   1,   0,   0,   0,   0,
317 /* 3A */ subw3     ,RADI,   2,RADI,   2, WAD,   2,   0,   0,
318 /* 3B */ bitw      ,RADI,   2,RADI,   2,   0,   0,   0,   0,
319 /* 3C */ subl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
320 /* 3D */ bitl      ,RADI,   4,RADI,   4,   0,   0,   0,   0,
321 /* 3E */ ediv      ,RADI,   4,RADI,   8, WAD,   4,  WD,   4,
322 /* 3F */ aobleq    ,RADI,   4, MAD,   4, Brd,   2,   0,   0,
323 /* 40 */ ret       ,   0,   0,   0,   0,   0,   0,   0,   0,
324 /* 41 */ bgtr      , Brd,   1,   0,   0,   0,   0,   0,   0,
325 /* 42 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
326 /* 43 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
327 /* 44 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
328 /* 45 */ sqrtf     ,   0,   0,   0,   0,   0,   0,   0,   0,
329 /* 46 */ cmpf2     ,RADF,   4,RADF,   4,   0,   0,   0,   0,
330 /* 47 */ cmpd2     ,RADF,   8,RADF,   8,   0,   0,   0,   0,
331 /* 48 */ shll      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
332 /* 49 */ clrb      , WAD,   1,   0,   0,   0,   0,   0,   0,
333 /* 4A */ shlq      ,RADI,   1,RADI,   8, WAD,   8,   0,   0,
334 /* 4B */ clrw      , WAD,   2,   0,   0,   0,   0,   0,   0,
335 /* 4C */ mull2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
336 /* 4D */ clrl      , WAD,   4,   0,   0,   0,   0,   0,   0,
337 /* 4E */ shal      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
338 /* 4F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
339 /* 50 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
340 /* 51 */ bleq      , Brd,   1,   0,   0,   0,   0,   0,   0,
341 /* 52 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
342 /* 53 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
343 /* 54 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
344 /* 55 */ expf      ,   0,   0,   0,   0,   0,   0,   0,   0,
345 /* 56 */ tstf      ,   0,   0,   0,   0,   0,   0,   0,   0,
346 /* 57 */ tstd      ,   0,   0,   0,   0,   0,   0,   0,   0,
347 /* 58 */ shrl      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
348 /* 59 */ tstb      ,RADI,   1,   0,   0,   0,   0,   0,   0,
349 /* 5A */ shrq      ,RADI,   1,RADI,   8, WAD,   8,   0,   0,
350 /* 5B */ tstw      ,RADI,   2,   0,   0,   0,   0,   0,   0,
351 /* 5C */ mull3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
352 /* 5D */ tstl      ,RADI,   4,   0,   0,   0,   0,   0,   0,
353 /* 5E */ shar      ,RADI,   1,RADI,   4, WAD,   4,   0,   0,
354 /* 5F */ bbssi     ,RADI,   4, MAD,   4, Brd,   2,   0,   0,
355 /* 60 */ ldpctx    ,   0,   0,   0,   0,   0,   0,   0,   0,
356 /* 61 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
357 /* 62 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
358 /* 63 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
359 /* 64 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
360 /* 65 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
361 /* 66 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
362 /* 67 */ pushd     ,   0,   0,   0,   0,   0,   0,   0,   0,
363 /* 68 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
364 /* 69 */ incb      , MAD,   1,   0,   0,   0,   0,   0,   0,
365 /* 6A */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
366 /* 6B */ incw      , MAD,   2,   0,   0,   0,   0,   0,   0,
367 /* 6C */ divl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
368 /* 6D */ incl      , MAD,   4,   0,   0,   0,   0,   0,   0,
369 /* 6E */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
370 /* 6F */ cvtlb     ,RADI,   4, WAD,   1,   0,   0,   0,   0,
371 /* 70 */ svpctx    ,   0,   0,   0,   0,   0,   0,   0,   0,
372 /* 71 */ jmp       ,ADDR,   1,   0,   0,   0,   0,   0,   0,
373 /* 72 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
374 /* 73 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
375 /* 74 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
376 /* 75 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
377 /* 76 */ cvlf      , RAD,   4,   0,   0,   0,   0,   0,   0,
378 /* 77 */ cvld      , RAD,   4,   0,   0,   0,   0,   0,   0,
379 /* 78 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
380 /* 79 */ decb      , MAD,   1,   0,   0,   0,   0,   0,   0,
381 /* 7A */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
382 /* 7B */ decw      , MAD,   2,   0,   0,   0,   0,   0,   0,
383 /* 7C */ divl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
384 /* 7D */ decl      , MAD,   4,   0,   0,   0,   0,   0,   0,
385 /* 7E */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
386 /* 7F */ cvtlw     ,RADI,   4, WAD,   2,   0,   0,   0,   0,
387 /* 80 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
388 /* 81 */ bgeq      , Brd,   1,   0,   0,   0,   0,   0,   0,
389 /* 82 */ movs2     ,   0,   0,   0,   0,   0,   0,   0,   0,
390 /* 83 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
391 /* 84 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
392 /* 85 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
393 /* 86 */ cvfl      , WAD,   4,   0,   0,   0,   0,   0,   0,
394 /* 87 */ cvdl      , WAD,   4,   0,   0,   0,   0,   0,   0,
395 /* 88 */ orb2      ,RADI,   1,NMAD,   1,   0,   0,   0,   0,
396 /* 89 */ cvtbl     ,RADI,   1, WAD,   4,   0,   0,   0,   0,
397 /* 8A */ orw2      ,RADI,   2,NMAD,   2,   0,   0,   0,   0,
398 /* 8B */ bispsw    ,RADI,   2,   0,   0,   0,   0,   0,   0,
399 /* 8C */ orl2      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
400 /* 8D */ adwc      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
401 /* 8E */ adda      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
402 /* 8F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
403 /* 90 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
404 /* 91 */ blss      , Brd,   1,   0,   0,   0,   0,   0,   0,
405 /* 92 */ cmps2     ,   0,   0,   0,   0,   0,   0,   0,   0,
406 /* 93 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
407 /* 94 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
408 /* 95 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
409 /* 96 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
410 /* 97 */ ldfd      ,RADF,   4,   0,   0,   0,   0,   0,   0,
411 /* 98 */ orb3      ,RADI,   1,RADI,   1,NWAD,   1,   0,   0,
412 /* 99 */ cvtbw     ,RADI,   1, WAD,   2,   0,   0,   0,   0,
413 /* 9A */ orw3      ,RADI,   2,RADI,   2,NWAD,   2,   0,   0,
414 /* 9B */ bicpsw    ,RADI,   2,   0,   0,   0,   0,   0,   0,
415 /* 9C */ orl3      ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
416 /* 9D */ sbwc      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
417 /* 9E */ suba      ,RADI,   4, MAD,   4,   0,   0,   0,   0,
418 /* 9F */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
419 /* A0 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
420 /* A1 */ bgtru     , Brd,   1,   0,   0,   0,   0,   0,   0,
421 /* A2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
422 /* A3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
423 /* A4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
424 /* A5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
425 /* A6 */ cvdf      ,   0,   0,   0,   0,   0,   0,   0,   0,
426 /* A7 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
427 /* A8 */ andb2     ,RADI,   1,NMAD,   1,   0,   0,   0,   0,
428 /* A9 */ movzbl    ,RADI,   1, WAD,   4,   0,   0,   0,   0,
429 /* AA */ andw2     ,RADI,   2,NMAD,   2,   0,   0,   0,   0,
430 /* AB */ loadr     ,RADI,   2,ADDR,   4,   0,   0,   0,   0,
431 /* AC */ andl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
432 /* AD */ mtpr      ,RADI,   4,RADI,   4,   0,   0,   0,   0,
433 /* AE */ ffs       ,RADI,   4, WAD,   4,   0,   0,   0,   0,
434 /* AF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
435 /* B0 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
436 /* B1 */ blequ     , Brd,   1,   0,   0,   0,   0,   0,   0,
437 /* B2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
438 /* B3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
439 /* B4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
440 /* B5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
441 /* B6 */ negf      ,   0,   0,   0,   0,   0,   0,   0,   0,
442 /* B7 */ negd      ,   0,   0,   0,   0,   0,   0,   0,   0,
443 /* B8 */ andb3     ,RADI,   1,RADI,   1,NWAD,   1,   0,   0,
444 /* B9 */ movzbw    ,RADI,   1, WAD,   2,   0,   0,   0,   0,
445 /* BA */ andw3     ,RADI,   2,RADI,   2,NWAD,   2,   0,   0,
446 /* BB */ storer    ,RADI,   2,W|ADDR, 4,   0,   0,   0,   0,
447 /* BC */ andl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
448 /* BD */ mfpr      ,RADI,   4, WAD,   4,   0,   0,   0,   0,
449 /* BE */ ffc       ,RADI,   4, WAD,   4,   0,   0,   0,   0,
450 /* BF */ calls     ,RADI,   1,ADDR,   1,   0,   0,   0,   0,
451 /* C0 */ prober    ,RADI,   1,ADDR,   1,RADI,   4,   0,   0,
452 /* C1 */ bvc       , Brd,   1,   0,   0,   0,   0,   0,   0,
453 /* C2 */ movs3     ,   0,   0,   0,   0,   0,   0,   0,   0,
454 /* C3 */ movzwl    ,RADI,   2, WAD,   4,   0,   0,   0,   0,
455 /* C4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
456 /* C5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
457 /* C6 */ addf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
458 /* C7 */ addd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
459 /* C8 */ xorb2     ,RADI,   1,NMAD,   1,   0,   0,   0,   0,
460 /* C9 */ movob     ,RADI,   1,NWAD,   1,   0,   0,   0,   0,
461 /* CA */ xorw2     ,RADI,   2,NMAD,   2,   0,   0,   0,   0,
462 /* CB */ movow     ,RADI,   2,NWAD,   2,   0,   0,   0,   0,
463 /* CC */ xorl2     ,RADI,   4, MAD,   4,   0,   0,   0,   0,
464 /* CD */ movpsl    , WAD,   4,   0,   0,   0,   0,   0,   0,
465 /* CE */ btcs      ,RADI,   1,   0,   0,   0,   0,   0,   0,
466 /* CF */ kcall     ,RADI,   2,   0,   0,   0,   0,   0,   0,
467 /* D0 */ probew    ,RADI,   1,ADDR,   1,RADI,   4,   0,   0,
468 /* D1 */ bvs       , Brd,   1,   0,   0,   0,   0,   0,   0,
469 /* D2 */ cmps3     ,   0,   0,   0,   0,   0,   0,   0,   0,
470 /* D3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
471 /* D4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
472 /* D5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
473 /* D6 */ subf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
474 /* D7 */ subd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
475 /* D8 */ xorb3     ,RADI,   1,RADI,   1,NWAD,   1,   0,   0,
476 /* D9 */ pushb     ,RADI,   1,   0,   0,   0,   0,   0,   0,
477 /* DA */ xorw3     ,RADI,   2,RADI,   2,NWAD,   2,   0,   0,
478 /* DB */ pushw     ,RADI,   2,   0,   0,   0,   0,   0,   0,
479 /* DC */ xorl3     ,RADI,   4,RADI,   4, WAD,   4,   0,   0,
480 /* DD */ pushl     ,RADI,   4,   0,   0,   0,   0,   0,   0,
481 /* DE */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
482 /* DF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
483 /* E0 */ insque    ,ADDR,   4,ADDR,   4,   0,   0,   0,   0,
484 /* E1 */ bcs       , Brd,   1,   0,   0,   0,   0,   0,   0,
485 /* E2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
486 /* E3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
487 /* E4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
488 /* E5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
489 /* E6 */ mulf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
490 /* E7 */ muld      ,RADF,   8,   0,   0,   0,   0,   0,   0,
491 /* E8 */ mnegb     ,RADI,   1, WAD,   1,   0,   0,   0,   0,
492 /* E9 */ movab     ,ADDR,   1, WAD,   4,   0,   0,   0,   0,
493 /* EA */ mnegw     ,RADI,   2, WAD,   2,   0,   0,   0,   0,
494 /* EB */ movaw     ,ADDR,   2, WAD,   4,   0,   0,   0,   0,
495 /* EC */ mnegl     ,RADI,   4, WAD,   4,   0,   0,   0,   0,
496 /* ED */ moval     ,ADDR,   4, WAD,   4,   0,   0,   0,   0,
497 /* EE */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
498 /* EF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
499 /* F0 */ remque    ,ADDR,   4,   0,   0,   0,   0,   0,   0,
500 /* F1 */ bcc       , Brd,   1,   0,   0,   0,   0,   0,   0,
501 /* F2 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
502 /* F3 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
503 /* F4 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
504 /* F5 */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
505 /* F6 */ divf      ,RADF,   4,   0,   0,   0,   0,   0,   0,
506 /* F7 */ divd      ,RADF,   8,   0,   0,   0,   0,   0,   0,
507 /* F8 */ movblk    ,   0,   0,   0,   0,   0,   0,   0,   0,
508 /* F9 */ pushab    ,ADDR,   1,   0,   0,   0,   0,   0,   0,
509 /* FA */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0,
510 /* FB */ pushaw    ,ADDR,   2,   0,   0,   0,   0,   0,   0,
511 /* FC */ casel     ,RADI,   4,RADI,   4,RADI,   4,   0,   0,
512 /* FD */ pushal    ,ADDR,   4,   0,   0,   0,   0,   0,   0,
513 /* FE */ callf    ,Imm|Lit, 1,  PR,   1,   0,   0,   0,   0,
514 /* FF */ illegal   ,   0,   0,   0,   0,   0,   0,   0,   0
515 };
516