xref: /original-bsd/old/as.vax/instrs (revision fbed46ce)
1##
2##	Copyright (c) 1982 Regents of the University of California
3##	@(#)instrs 4.4 02/14/82
4##
5##	Robert R. Henry
6##	University of California, Berkeley
7##	Berkeley, CA
8##	February 6, 1982
9##
10##	THIS FILE IS BOTH AN AWK SCRIPT AND THE DATA
11##
12##	Instruction definitions for the VAX
13##
14##	This file is processed by an awk script, viz:
15##	(echo "FLAVOR AS"; cat instrs) | awk -f instrs > as.instrs
16##	(echo "FLAVOR ADB"; cat instrs) | awk -f instrs > as.instrs
17##	(echo "FLAVOR SDB"; cat instrs) | awk -f instrs > as.instrs
18##	(echo "FLAVOR C2"; cat instrs) | awk -f instrs > c2.instrs
19##
20##	The data in this file is shared between:
21##	as	assembler
22##	c2	optimizer
23##	adb	debugger
24##	sdb	symbolic debugger
25##
26##	The awk script reads itself, and produces macros understood
27##	by the appropriate consumer. The awk script determines how
28##	to interpret the file by looking for a line of the form:
29##	FLAVOR	AS
30##	FLAVOR	ADB		(same as AS, but without pseudo instructions)
31##	FLAVOR	SDB		(same as ADB)
32##	FLAVOR	C2		(radically different format for instructions)
33##	and proceeding accordingly.  This line should be prepended to
34##	the front of this file.
35##
36##	Lines starting with # are always comments to awk
37##	Lines starting with ## are always comments
38##	Lines starting with a single # are data lines, to be output.
39##
40##	Empty lines are passed through
41##
42##	field	user(s)		what
43##
44##	$1	awk		#: comment to awk
45##
46##	$2	as, c2, adb	instruction name
47##
48##	$3	c2		instruction class
49##	$4	c2		instruction sub class
50##				HARD, TN1, TN2, TN3, TNX2, OP
51##
52##	$5	as, adb		escape opcode byte (NONE, NEW, ESCD, ESCF)
53##	$6	as, adb		primary opcode byte
54##
55##	$7	as, adb		number of arguments
56##	$8	as, adb		1st operand: access A,R,W,M,I,B
57##	$9	as, adb		1st operand: type, BWLQOFDGH
58##
59##	$10	as, adb		2nd operand: access
60##		...
61##
62##
63##	These are the definitions used in this file:
64##	instruction class (c2)
65##		understood only by c2.  If it is HARD, the second field
66##		is ignored.
67##	instruction subclass: (c2)
68##		HARD		paired with the class
69##		S		single valued attribute to C2
70##		TN1		class + type of 1st operand
71##		TN2		class + type of 2nd operand
72##		TN3		class + type of 3rd operand
73##		TNX2		class + type of 1st and 2nd operand
74##		OP		class + type of 1st operand and # of args
75##		default		class + subclass
76##
77##	escape byte:
78##		CORE		1 byte opcodes in all VAXen
79##		NEW		1 byte opcodes only in newer VAXen
80##		ESCD		2 byte opcodes, escape byte of 0xFD, newer VAXen
81##		ESCF		2 byte opcodes, escape byte of 0xFF, newer VAXen
82##	code byte
83##	number of arguments
84##	Access type
85##		A		for address
86##		W		for writing
87##		R		for reading
88##		M		for modifying
89##		B		for branch displacement
90##		I		for xfc code
91##	Data types
92##		B	byte
93##		W	word
94##		L	long
95##		Q	quad
96##		O	octa
97##		F	f_float
98##		D	d_float
99##		G	g_float
100##		H	h_float
101##
102##	The order of instructions in this table is not critical;
103##	the clients take care of their own table construction and ordering.
104##	The instructions are grouped (more or less) into functional groups.
105##
106##	The following is the awk program to interpret this table.
107
108BEGIN{
109	flavor = AS;
110}
111{
112	if (NF == 0){
113		printf("\n");
114		next;
115	}
116	if ($1 == "FLAVOR"){
117		flavor = $2;
118		if (flavor == "SDB"){
119			flavor = "ADB";
120		}
121		next;
122	}
123	if ($1 != "#"){
124		next;
125	}
126
127	if ($5 == "MACR"){
128		if (flavor == "ADB"){
129			next;
130		}
131		if (flavor == "AS"){
132			if ($3 == "CBR")
133				$3 = "IJXXX";
134			printf("PSEUDO(\"%s\", %s, %s),\n", $2, $6, $3);
135			next;
136		}
137		if (flavor == "C2"){
138			if ($4 == "C2X")
139				next;
140			printf("\"%s\",", $2);
141			if ($3 == "CBR" && $4 != "JBR"){
142				printf("T(CBR,%s),\n", $4);
143			} else {
144				printf("%s,\n", $4);
145			}
146			next;
147		}
148	}
149
150	if (flavor == "C2"){
151		printf("\"%s\",", $2);
152		if ($3 == "HARD"){		# 0 value
153			printf("0,\n");
154			next;
155		}
156		if ($4 == "S"){			# single value
157			printf("%s,\n", $3);
158			next;
159		}
160		if ($4 == "TN1"){		# use type of 1st operand
161			printf("T(%s,TYP%s),\n", $3, $9);
162			next;
163		}
164		if ($4 == "TN3"){		# use type of 3rd operand
165			printf("T(%s,TYP%s),\n", $3, $13);
166			next;
167		}
168		if ($4 == "TNX2"){		# cross product of 1st and 2nd operand
169			printf("T(%s,U(TYP%s,TYP%s)),\n", $3, $9, $11);
170			next;
171		}
172		if ($4 == "OP"){		# arithmetic operator
173			printf("T(%s,U(TYP%s,OP%d)),\n", $3, $9, $7);
174			next;
175		}
176		printf("T(%s,%s),\n", $3, $4);	# special value
177		next;
178	}
179	if (flavor == "AS" || flavor == "ADB"){
180		printf("OP(\"%s\", %s, %s, %d", $2, $5, $6, $7);
181		for (i = 8; i+1 <= NF; i = i + 2){
182			printf(", A_%s%s", $i, $(i+1));
183		}
184		for (i = $7; i < 6; i++){
185			printf(",0");
186		}
187		printf("),\n");
188	}
189}
190##
191##-------------------------------------------------------
192##1 2		3     4  	5    6	        7  8 9
193##
194##
195## PSEUDO (MACR) operators come first
196
197## Data initializers
198
199# .byte		IBYTE	C2X	MACR 0		VAR
200# .word		IWORD	WGEN	MACR 0		VAR
201# .int		IINT	LGEN	MACR 0		VAR
202# .long		ILONG	LGEN	MACR 0		VAR
203# .quad		IQUAD	C2X	MACR 0		VAR
204# .octa		IOCTA	C2X	MACR 0		VAR
205# .float	IFFLOAT	C2X	MACR 0		VAR
206# .double	IDFLOAT	C2X	MACR 0		VAR
207# .ffloat	IFFLOAT	C2X	MACR 0		VAR
208# .dfloat	IDFLOAT	C2X	MACR 0		VAR
209# .gfloat	IGFLOAT	C2X	MACR 0		VAR
210# .hfloat	IHFLOAT	C2X	MACR 0		VAR
211# .space	ISPACE	C2X	MACR 0		1
212# .fill		IFILL	C2X	MACR 0		2
213# .ascii	IASCII	C2X	MACR 0		VAR
214# .asciz	IASCIZ	C2X	MACR 0		VAR
215
216# .data		IDATA	DATA	MACR 0		1
217# .text		ITEXT	TEXT	MACR 0		1
218# .align	IALIGN	ALIGN	MACR 0		1
219
220# .line		ILINENO	C2X	MACR 0		1
221# .file		IFILE	C2X	MACR 0		1
222
223# .globl	IGLOBAL	EROU	MACR 0		1
224# .comm		ICOMM	COMM	MACR 0		2
225# .lcomm	ILCOMM	LCOMM	MACR 0		2
226# .set		ISET	SET	MACR 0		2
227# .lsym		ILSYM	C2X	MACR 0		2
228# .org		IORG	C2X	MACR 0		1
229
230# .stab		ISTAB	C2X	MACR 0		6
231# .stabd	ISTABDOT	C2X	MACR 0	3
232# .stabn	ISTABNONE	C2X	MACR 0	3
233# .stabs	ISTABSTR	C2X	MACR 0	3
234
235# .ABORT	IABORT	C2X	MACR 0		0
236
237## Pseudo jumps
238
239# jbc		CBR	JBC	MACR 0xe1	1	B B
240# jlbc		CBR	JLBC	MACR 0xe9	1	B B
241# jbs		CBR	JBS	MACR 0xe0	1	B B
242# jlbs		CBR	JLBS	MACR 0xe8	1	B B
243# jbcc		CBR	JBCC	MACR 0xe5	1	B B
244# jbsc		CBR	JBSC	MACR 0xe4	1	B B
245# jbcs		CBR	JBCS	MACR 0xe3	1	B B
246# jbss		CBR	JBSS	MACR 0xe2	1	B B
247
248# jbr		CBR	JBR	MACR 0x11	1	B B
249# jcc		CBR	C2X	MACR 0x1e	1	B B
250# jcs		CBR	C2X	MACR 0x1f	1	B B
251# jvc		CBR	C2X	MACR 0x1c	1	B B
252# jvs		CBR	C2X	MACR 0x1d	1	B B
253# jlss		CBR	JLT	MACR 0x19	1	B B
254# jlssu		CBR	JLO	MACR 0x1f	1	B B
255# jleq		CBR	JLE	MACR 0x15	1	B B
256# jlequ		CBR	JLOS	MACR 0x1b	1	B B
257# jeql		CBR	JEQ	MACR 0x13	1	B B
258# jeqlu		CBR	JEQ	MACR 0x13	1	B B
259# jneq		CBR	JNE	MACR 0x12	1	B B
260# jnequ		CBR	JNE	MACR 0x12	1	B B
261# jgeq		CBR	JGE	MACR 0x18	1	B B
262# jgequ		CBR	JHIS	MACR 0x1e	1	B B
263# jgtr		CBR	JGT	MACR 0x14	1	B B
264# jgtru		CBR	JHI	MACR 0x1a	1	B B
265##
266## Registers
267##
268# r0		REG	C2X	MACR 0		0
269# r1		REG	C2X	MACR 1		0
270# r2		REG	C2X	MACR 2		0
271# r3		REG	C2X	MACR 3		0
272# r4		REG	C2X	MACR 4		0
273# r5		REG	C2X	MACR 5		0
274# r6		REG	C2X	MACR 6		0
275# r7		REG	C2X	MACR 7		0
276# r8		REG	C2X	MACR 8		0
277# r9		REG	C2X	MACR 9		0
278# r10		REG	C2X	MACR 10		0
279# r11		REG	C2X	MACR 11		0
280# r12		REG	C2X	MACR 12		0
281# r13		REG	C2X	MACR 13		0
282# r14		REG	C2X	MACR 14		0
283# r15		REG	C2X	MACR 15		0
284# ap		REG	C2X	MACR 12		0
285# fp		REG	C2X	MACR 13		0
286# sp		REG	C2X	MACR 14		0
287# pc		REG	C2X	MACR 15		0
288
289## Normal instructions
290
291# bicpsw	HARD HARD	CORE 0xb9	1  R W
292# bispsw	HARD HARD	CORE 0xb8	1  R W
293# movpsl	HARD HARD	CORE 0xdc	1  W L
294
295# ldpctx	HARD HARD	CORE 0x06	0
296# svpctx	HARD HARD	CORE 0x07	0
297# mfpr		MFPR TN1	CORE 0xdb	2  R L  W L
298# mtpr		MTPR TN1	CORE 0xda	2  R L  R L
299
300# prober	PROBER TN1	CORE 0x0c	3  R B  R W  A B
301# probew	PROBEW TN1	CORE 0x0d	3  R B  R W  A B
302
303# adawi		HARD HARD	CORE 0x58	2  R W  M W
304
305# chme		HARD HARD	CORE 0xbd	1  R W
306# chmk		HARD HARD	CORE 0xbc	1  R W
307# chms		HARD HARD	CORE 0xbe	1  R W
308# chmu		HARD HARD	CORE 0xbf	1  R W
309
310# insque	HARD HARD	CORE 0x0e	2  A B  A B
311# insqhi	HARD HARD	NEW  0x5c	2  A B  A Q
312# insqti	HARD HARD	NEW  0x5d	2  A B  A Q
313
314# remque	HARD HARD	CORE 0x0f	2  A B  W L
315# remqhi	HARD HARD	NEW  0x5e	2  A Q  W L
316# remqti	HARD HARD	NEW  0x5f	2  A Q  W L
317
318# bpt		HARD HARD	CORE 0x03	0
319
320# escd		HARD HARD	CORE 0xfd	0
321# esce		HARD HARD	CORE 0xfe	0
322# escf		HARD HARD	CORE 0xff	0
323# xfc		HARD HARD	CORE 0xfc	0
324
325# bugw		HARD HARD	ESCF 0xfe	1  R W
326# bugl		HARD HARD	ESCF 0xfd	1  R L
327
328# nop		HARD HARD	CORE 0x01	0
329# halt		HARD HARD	CORE 0x00	0
330
331# crc		HARD HARD	CORE 0x0b	4  A B  R L  R W  A B
332
333# movp		HARD HARD	CORE 0x34	3  R W  A B  A B
334# cvtlp		HARD HARD	CORE 0xf9	3  R L  R W  A B
335# cvtpl		HARD HARD	CORE 0x36	3  R W  A B  W L
336# cvttp		HARD HARD	CORE 0x26	5  R W  A B  A B  R W  A B
337# cvtpt		HARD HARD	CORE 0x24	5  R W  A B  A B  R W  A B
338# cvtps		HARD HARD	CORE 0x08	4  R W  A B  R W  A B
339# cvtsp		HARD HARD	CORE 0x09	4  R W  A B  R W  A B
340
341# addp4		HARD HARD	CORE 0x20	4  R W  A B  R W  A B
342# addp6		HARD HARD	CORE 0x21	6  R W  A B  R W  A B  R W  A B
343# subp4		HARD HARD	CORE 0x22	4  R W  A B  R W  A B
344# subp6		HARD HARD	CORE 0x23	6  R W  A B  R W  A B  R W  A B
345# mulp		HARD HARD	CORE 0x25	6  R W  A B  R W  A B  R W  A B
346# divp		HARD HARD	CORE 0x27	6  R W  A B  R W  A B  R W  A B
347# cmpp3		HARD HARD	CORE 0x35	3  R W  A B  A B
348# cmpp4		HARD HARD	CORE 0x37	4  R W  A B  R W  A B
349
350# insv		INSV -1		CORE 0xf0	4  R L  R L  R B  W B
351# extv		EXTV TN1	CORE 0xee	4  R L  R B  R B  W L
352# extzv		EXTZV TN1	CORE 0xef	4  R L  R B  R B  W L
353# cmpv		HARD HARD	CORE 0xec	4  R L  R B  R B  R L
354# cmpzv		HARD HARD	CORE 0xed	4  R L  R B  R B  R L
355
356# editpc	HARD HARD	CORE 0x38	4  R W  A B  A B  A B
357# locc		HARD HARD	CORE 0x3a	3  R B  R W  A B
358# matchc	HARD HARD	CORE 0x39	4  R W  A B  R W  A B
359# skpc		HARD HARD	CORE 0x3b	3  R B  R W  A B
360# scanc		HARD HARD	CORE 0x2a	4  R W  A B  A B  R B
361# spanc		HARD HARD	CORE 0x2b	4  R W  A B  A B  R B
362# movc3		MOVC3 S		CORE 0x28	3  R W  A B  A B
363# movc5		HARD HARD	CORE 0x2c	5  R W  A B  R B  R W  A B
364# movtc		HARD HARD	CORE 0x2e	6  R W  A B  R B  A B  R W  A B
365# movtuc	HARD HARD	CORE 0x2f	6  R W  A B  R B  A B  R W  A B
366# cmpc3		HARD HARD	CORE 0x29	3  R W  A B  A B
367# cmpc5		HARD HARD	CORE 0x2d	5  R W  A B  R B  R W  A B
368
369# adwc		HARD HARD	CORE 0xd8	2  R L  M L
370# sbwc		HARD HARD	CORE 0xd9	2  R L  M L
371
372# rotl		HARD HARD	CORE 0x9c	3  R B  R L  W L
373# ashl		ASH TN3		CORE 0x78	3  R B  R L  W L
374# ashp		HARD HARD	CORE 0xf8	6  R B  R W  A B  R B  R W  A B
375# ashq		ASH TN3		CORE 0x79	3  R B  R Q  W Q
376
377# jmp		JMP S		CORE 0x17	1  A B
378# brb		JBR S		CORE 0x11	1  B B
379# brw		JBR S		CORE 0x31	1  B W
380
381# bitb		BIT TN1		CORE 0x93	2  R B  R B
382# bitw		BIT TN1		CORE 0xb3	2  R W  R W
383# bitl		BIT TN1		CORE 0xd3	2  R L  R L
384
385# bbc		CBR JBC		CORE 0xe1	3  R L  R B  B B
386# bbcc		CBR JBCC	CORE 0xe5	3  R L  R B  B B
387# bbcci		CBR JBCC	CORE 0xe7	3  R L  R B  B B
388# bbcs		CBR JBCS	CORE 0xe3	3  R L  R B  B B
389# bbs		CBR JBS		CORE 0xe0	3  R L  R B  B B
390# bbsc		CBR JBSC	CORE 0xe4	3  R L  R B  B B
391# bbss		CBR JBSS	CORE 0xe2	3  R L  R B  B B
392# bbssi		CBR JBSS	CORE 0xe6	3  R L  R B  B B
393# bcc		CBR JHIS	CORE 0x1e	1  B B
394# bcs		CBR JLO		CORE 0x1f	1  B B
395# blbs		CBR JLBS	CORE 0xe8	2  R L  B B
396# blbc		CBR JLBC	CORE 0xe9	2  R L  B B
397
398# beql		CBR JEQ		CORE 0x13	1  B B
399# beqlu		CBR JEQ		CORE 0x13	1  B B
400# bgeq		CBR JGE		CORE 0x18	1  B B
401# bgequ		CBR JHIS	CORE 0x1e	1  B B
402# bgtr		CBR JGT		CORE 0x14	1  B B
403# bgtru		CBR JHI		CORE 0x1a	1  B B
404# bleq		CBR JLE		CORE 0x15	1  B B
405# blequ		CBR JLOS	CORE 0x1b	1  B B
406# blss		CBR JLT		CORE 0x19	1  B B
407# blssu		CBR JLO		CORE 0x1f	1  B B
408# bneq		CBR JNE		CORE 0x12	1  B B
409# bnequ		CBR JNE		CORE 0x12	1  B B
410# bvc		CBR 0		CORE 0x1c	1  B B
411# bvs		CBR 0		CORE 0x1d	1  B B
412
413# caseb		CASE TN1	CORE 0x8f	3  R B  R B  R B
414# casew		CASE TN1	CORE 0xaf	3  R W  R W  R W
415# casel		CASE TN1	CORE 0xcf	3  R L  R L  R L
416
417# clrb		CLR TN1		CORE 0x94	1  W B
418# clrw		CLR TN1		CORE 0xb4	1  W W
419# clrl		CLR TN1		CORE 0xd4	1  W L
420# clrq		CLR TN1		CORE 0x7c	1  W Q
421# clro		CLR TN1		ESCD 0x7c	1  W O
422# clrf		CLR TN1		CORE 0xd4	1  W F
423# clrd		CLR TN1		CORE 0x7c	1  W D
424# clrh		CLR TN1		ESCD 0x7c	1  W H
425
426# cvtbw		CVT TNX2	CORE 0x99	2  R B  W W
427# cvtbl		CVT TNX2	CORE 0x98	2  R B  W L
428# cvtbf		CVT TNX2	CORE 0x4c	2  R B  W F
429# cvtbg		CVT TNX2	ESCD 0x4c	2  R B  W G
430# cvtbd		CVT TNX2	CORE 0x6c	2  R B  W D
431# cvtbh		CVT TNX2	ESCD 0x6c	2  R B  W H
432
433# cvtwb		CVT TNX2	CORE 0x33	2  R W  W B
434# cvtwl		CVT TNX2	CORE 0x32	2  R W  W L
435# cvtwf		CVT TNX2	CORE 0x4d	2  R W  W F
436# cvtwg		CVT TNX2	ESCD 0x4d	2  R W  W G
437# cvtwd		CVT TNX2	CORE 0x6d	2  R W  W D
438# cvtwh		CVT TNX2	ESCD 0x6d	2  R W  W H
439
440# cvtlb		CVT TNX2	CORE 0xf6	2  R L  W B
441# cvtlw		CVT TNX2	CORE 0xf7	2  R L  W W
442# cvtlf		CVT TNX2	CORE 0x4e	2  R L  W F
443# cvtlg		CVT TNX2	ESCD 0x4e	2  R L  W G
444# cvtld		CVT TNX2	CORE 0x6e	2  R L  W D
445# cvtlh		CVT TNX2	ESCD 0x6e	2  R L  W H
446
447# cvtfb		CVT TNX2	CORE 0x48	2  R F  W B
448# cvtfw		CVT TNX2	CORE 0x49	2  R F  W W
449# cvtfl		CVT TNX2	CORE 0x4a	2  R F  W L
450# cvtrfl	CVT TNX2	CORE 0x4b	2  R F  W L
451# cvtfd		CVT TNX2	CORE 0x56	2  R F  W D
452# cvtfg		CVT TNX2	ESCD 0x99	2  R F  W G
453# cvtfh		CVT TNX2	ESCD 0x98	2  R F  W H
454
455# cvtgb		CVT TNX2	ESCD 0x48	2  R G  W B
456# cvtgw		CVT TNX2	ESCD 0x49	2  R G  W W
457# cvtgl		CVT TNX2	ESCD 0x4a	2  R G  W L
458# cvtrgl	CVT TNX2	ESCD 0x4b	2  R G  W L
459# cvtgf		CVT TNX2	ESCD 0x33	2  R G  W F
460# cvtgd		CVT TNX2	ESCD 0x56	2  R G  W D
461# cvtgh		CVT TNX2	ESCD 0x56	2  R G  W H
462
463# cvtdb		CVT TNX2	CORE 0x68	2  R D  W B
464# cvtdw		CVT TNX2	CORE 0x69	2  R D  W W
465# cvtdl		CVT TNX2	CORE 0x6a	2  R D  W L
466# cvtrdl	CVT TNX2	CORE 0x6b	2  R D  W L
467# cvtdf		CVT TNX2	CORE 0x76	2  R D  W F
468# cvtdh		CVT TNX2	ESCD 0x32	2  R D  W H
469
470# cvthb		CVT TNX2	ESCD 0x68	2  R H  W B
471# cvthw		CVT TNX2	ESCD 0x69	2  R H  W W
472# cvthl		CVT TNX2	ESCD 0x6a	2  R H  W L
473# cvtrhl	CVT TNX2	ESCD 0x6b	2  R H  W L
474# cvthf		CVT TNX2	ESCD 0xf6	2  R H  W F
475# cvthd		CVT TNX2	ESCD 0xf7	2  R H  W D
476# cvthg		CVT TNX2	ESCD 0x76	2  R H  W G
477
478# ffc		HARD HARD	CORE 0xeb	4  R L  R B  R B  W L
479# ffs		HARD HARD	CORE 0xea	4  R L  R B  R B  W L
480
481# index		HARD HARD	CORE 0x0a	6  R L  R L  R L  R L  R L  W L
482
483# rei		HARD HARD	CORE 0x02	0
484
485# callg		CALLS S		CORE 0xfa	2  A B  A B
486# calls		CALLS S		CORE 0xfb	2  R L  A B
487# ret		JBR RET		CORE 0x04	0
488
489# jsb		JSB S		CORE 0x16	1  A B
490# bsbb		HARD HARD	CORE 0x10	1  B B
491# bsbw		HARD HARD	CORE 0x30	1  B W
492# rsb		JBR RSB		CORE 0x05	0
493
494# pushr		HARD HARD	CORE 0xbb	1  R W
495# popr		HARD HARD	CORE 0xba	1  R W
496
497# mnegb		NEG TN1		CORE 0x8e	2  R B  W B
498# mnegw		NEG TN1		CORE 0xae	2  R W  W L
499# mnegl		NEG TN1		CORE 0xce	2  R L  W L
500# mnegf		NEG TN1		CORE 0x52	2  R F  W F
501# mnegg		NEG TN1		ESCD 0x52	2  R G  W G
502# mnegd		NEG TN1		CORE 0x72	2  R D  W D
503# mnegh		NEG TN1		ESCD 0x72	2  R H  W H
504
505# movab		MOVA TN1	CORE 0x9e	2  A B  W L
506# movaw		MOVA TN1	CORE 0x3e	2  A W  W L
507# moval		MOVA TN1	CORE 0xde	2  A L  W L
508# movaq		MOVA TN1	CORE 0x7e	2  A Q  W L
509# movao		MOVA TN1	ESCD 0x7e	2  A O  W L
510# movaf		MOVA TN1	CORE 0xde	2  A F  W L
511# movad		MOVA TN1	CORE 0x7e	2  A D  W L
512# movah		MOVA TN1	ESCD 0x7e	2  A H  W L
513
514# movb		MOV TN1		CORE 0x90	2  R B  W B
515# movw		MOV TN1		CORE 0xb0	2  R W  W W
516# movl		MOV TN1		CORE 0xd0	2  R L  W L
517# movf		MOV TN1		CORE 0x50	2  R F  W F
518# movq		MOV TN1		CORE 0x7d	2  R Q  W Q
519# movo		MOV TN1		ESCD 0x7d	2  R O  W O
520# movg		MOV TN1		ESCD 0x50	2  R G  W G
521# movd		MOV TN1		CORE 0x70	2  R D  W D
522# movh		MOV TN1		ESCD 0x70	2  R H  W H
523
524# movzbl	MOVZ TNX2	CORE 0x9a	2  R B  W L
525# movzbw	MOVZ TNX2	CORE 0x9b	2  R B  W W
526# movzwl	MOVZ TNX2	CORE 0x3c	2  R W  W L
527
528# pushl		PUSH TN1	CORE 0xdd	1  R L
529# pushab	PUSHA TN1	CORE 0x9f	1  A B
530# pushaw	PUSHA TN1	CORE 0x3f	1  A W
531# pushal	PUSHA TN1	CORE 0xdf	1  A L
532# pushaq	PUSHA TN1	CORE 0x7f	1  A Q
533# pushao	PUSHA TN1	ESCD 0x7f	1  A O
534# pushaf	PUSHA TN1	CORE 0xdf	1  A F
535# pushad	PUSHA TN1	CORE 0x7f	1  A D
536# pushag	PUSHA TN1	CORE 0xdf	1  A G
537# pushah	PUSHA TN1	ESCD 0x7f	1  A H
538
539# acbb		ACB TN1		CORE 0x9d	4  R B  R B  M B  B W
540# acbw		ACB TN1		CORE 0x3d	4  R W  R W  M W  B W
541# acbl		ACB TN1		CORE 0xf1	4  R L  R L  M L  B W
542# acbf		ACB TN1		CORE 0x4f	4  R F  R F  M F  B W
543# acbg		ACB TN1		ESCD 0x4f	4  R G  R G  M G  B W
544# acbd		ACB TN1		CORE 0x6f	4  R D  R D  M D  B W
545# acbh		ACB TN1		ESCD 0x6f	4  R H  R H  M H  B W
546
547# aobleq	AOBLEQ S	CORE 0xf3	3  R L  M L  B B
548# aoblss	AOBLSS S	CORE 0xf2	3  R L  M L  B B
549# sobgeq	SOBGEQ S	CORE 0xf4	2  M L  B B
550# sobgtr	SOBGTR S	CORE 0xf5	2  M L  B B
551
552# addb2		ADD OP		CORE 0x80	2  R B  M B
553# addb3		ADD OP		CORE 0x81	3  R B  R B  W B
554# addw2		ADD OP		CORE 0xa0	2  R W  M W
555# addw3		ADD OP		CORE 0xa1	3  R W  R W  W W
556# addl2		ADD OP		CORE 0xc0	2  R L  M L
557# addl3		ADD OP		CORE 0xc1	3  R L  R L  W L
558# addf2		ADD OP		CORE 0x40	2  R F  M F
559# addf3		ADD OP		CORE 0x41	3  R F  R F  W F
560# addg2		ADD OP		ESCD 0x40	2  R G  M G
561# addg3		ADD OP		ESCD 0x41	3  R G  R G  W G
562# addd2		ADD OP		CORE 0x60	2  R D  M D
563# addd3		ADD OP		CORE 0x61	3  R D  R D  W D
564# addh2		ADD OP		ESCD 0x60	2  R H  M H
565# addh3		ADD OP		ESCD 0x61	3  R H  R H  W H
566
567# subb2		SUB OP		CORE 0x82	2  R B  M B
568# subb3		SUB OP		CORE 0x83	3  R B  R B  W B
569# subw2		SUB OP		CORE 0xa2	2  R W  M W
570# subw3		SUB OP		CORE 0xa3	3  R W  R W  W W
571# subl2		SUB OP		CORE 0xc2	2  R L  M L
572# subl3		SUB OP		CORE 0xc3	3  R L  R L  W L
573# subf2		SUB OP		CORE 0x42	2  R F  M F
574# subf3		SUB OP		CORE 0x43	3  R F  R F  W F
575# subg2		SUB OP		ESCD 0x42	2  R G  M G
576# subg3		SUB OP		ESCD 0x43	3  R G  R G  W G
577# subd2		SUB OP		CORE 0x62	2  R D  M D
578# subd3		SUB OP		CORE 0x63	3  R D  R D  W D
579# subh2		SUB OP		ESCD 0x62	2  R H  M H
580# subh3		SUB OP		ESCD 0x63	3  R H  R H  W H
581
582# mulb2		MUL OP		CORE 0x84	2  R B  M B
583# mulb3		MUL OP		CORE 0x85	3  R B  R B  W B
584# mulw2		MUL OP		CORE 0xa4	2  R W  M W
585# mulw3		MUL OP		CORE 0xa5	3  R W  R W  W W
586# mull2		MUL OP		CORE 0xc4	2  R L  M L
587# mull3		MUL OP		CORE 0xc5	3  R L  R L  W L
588# mulf2		MUL OP		CORE 0x44	2  R F  M F
589# mulf3		MUL OP		CORE 0x45	3  R F  R F  W F
590# mulg2		MUL OP		ESCD 0x44	2  R G  M G
591# mulg3		MUL OP		ESCD 0x45	3  R G  R G  W G
592# muld2		MUL OP		CORE 0x64	2  R D  M D
593# muld3		MUL OP		CORE 0x65	3  R D  R D  W D
594# mulh2		MUL OP		ESCD 0x64	2  R H  M H
595# mulh3		MUL OP		ESCD 0x65	3  R H  R H  W H
596
597# divb2		DIV OP		CORE 0x86	2  R B  M B
598# divb3		DIV OP		CORE 0x87	3  R B  R B  W B
599# divw2		DIV OP		CORE 0xa6	2  R W  M W
600# divw3		DIV OP		CORE 0xa7	3  R W  R W  W W
601# divl2		DIV OP		CORE 0xc6	2  R L  M L
602# divl3		DIV OP		CORE 0xc7	3  R L  R L  W L
603# divf2		DIV OP		CORE 0x46	2  R F  M F
604# divf3		DIV OP		CORE 0x47	3  R F  R F  W F
605# divg2		DIV OP		ESCD 0x46	2  R G  M G
606# divg3		DIV OP		ESCD 0x47	3  R G  R G  W G
607# divd2		DIV OP		CORE 0x66	2  R D  M D
608# divd3		DIV OP		CORE 0x67	3  R D  R D  R D
609# divh2		DIV OP		ESCD 0x66	2  R H  M H
610# divh3		DIV OP		ESCD 0x67	3  R H  R H  R H
611
612# incb		INC TN1		CORE 0x96	1  M B
613# incw		INC TN1		CORE 0xb6	1  M W
614# incl		INC TN1		CORE 0xd6	1  M L
615# decb		DEC TN1		CORE 0x97	1  M B
616# decl		DEC TN1		CORE 0xd7	1  M L
617# decw		DEC TN1		CORE 0xb7	1  M W
618
619# cmpb		CMP TN1		CORE 0x91	2  R B  R B
620# cmpw		CMP TN1		CORE 0xb1	2  R W  R W
621# cmpl		CMP TN1		CORE 0xd1	2  R L  R L
622# cmpf		CMP TN1		CORE 0x51	2  R F  R F
623# cmpg		CMP TN1		ESCD 0x51	2  R G  R G
624# cmpd		CMP TN1		CORE 0x71	2  R D  R D
625# cmph		CMP TN1		ESCD 0x71	2  R H  R H
626
627# tstb		TST TN1		CORE 0x95	1  R B
628# tstw		TST TN1		CORE 0xb5	1  R W
629# tstl		TST TN1		CORE 0xd5	1  R L
630# tstf		TST TN1		CORE 0x53	1  R F
631# tstg		TST TN1		ESCD 0x53	1  R G
632# tstd		TST TN1		CORE 0x73	1  R D
633# tsth		TST TN1		ESCD 0x73	1  R H
634
635# polyf		HARD HARD	CORE 0x55	3  R F  R W  A B
636# polyg		HARD HARD	ESCD 0x55	3  R G  R W  A B
637# polyd		HARD HARD	CORE 0x75	3  R D  R W  A B
638# polyh		HARD HARD	ESCD 0x75	3  R H  R W  A B
639
640# emul		HARD HARD	CORE 0x7a	4  R L  R L  R L  W Q
641# ediv		HARD HARD	CORE 0x7b	4  R L  R Q  W L  W L
642# emodf		HARD HARD	CORE 0x54	5  R F  R B  R F  W L  W F
643# emodd		HARD HARD	CORE 0x74	5  R D  R B  R D  W L  W D
644# emodg		HARD HARD	ESCD 0x54	5  R G  R W  R G  W L  W G
645# emodh		HARD HARD	ESCD 0x74	5  R H  R W  R H  W L  W H
646
647# mcomb		COM TN1		CORE 0x92	2  R B  W B
648# mcomw		COM TN1		CORE 0xb2	2  R W  W W
649# mcoml		COM TN1		CORE 0xd2	2  R L  W L
650
651# bicl2		BIC OP		CORE 0xca	2  R L  M L
652# bicl3		BIC OP		CORE 0xcb	3  R L  R L  W L
653# bicw2		BIC OP		CORE 0xaa	2  R W  M W
654# bicw3		BIC OP		CORE 0xab	3  R W  R W  W W
655# bicb2		BIC OP		CORE 0x8a	2  R B  M B
656# bicb3		BIC OP		CORE 0x8b	3  R B  R B  W B
657
658# bisb2		BIS OP		CORE 0x88	2  R B  M B
659# bisb3		BIS OP		CORE 0x89	3  R B  R B  W B
660# bisw2		BIS OP		CORE 0xa8	2  R W  M W
661# bisw3		BIS OP		CORE 0xa9	3  R W  R W  W W
662# bisl2		BIS OP		CORE 0xc8	2  R L  M L
663# bisl3		BIS OP		CORE 0xc9	3  R L  R L  W L
664
665# xorb2		XOR OP		CORE 0x8c	2  R B  M B
666# xorb3		XOR OP		CORE 0x8d	3  R B  R B  W B
667# xorw2		XOR OP		CORE 0xac	2  R W  M W
668# xorw3		XOR OP		CORE 0xad	3  R W  R W  W W
669# xorl2		XOR OP		CORE 0xcc	2  R L  M L
670# xorl3		XOR OP		CORE 0xcd	3  R L  R L  W L
671