xref: /original-bsd/old/as.vax/instrs (revision f0fd5f8a)
1##
2##	Copyright (c) 1982 Regents of the University of California
3##	@(#)instrs 4.6 11/11/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# clrg		CLR TN1		CORE 0x7c	1  W D
425# clrh		CLR TN1		ESCD 0x7c	1  W H
426
427# cvtbw		CVT TNX2	CORE 0x99	2  R B  W W
428# cvtbl		CVT TNX2	CORE 0x98	2  R B  W L
429# cvtbf		CVT TNX2	CORE 0x4c	2  R B  W F
430# cvtbg		CVT TNX2	ESCD 0x4c	2  R B  W G
431# cvtbd		CVT TNX2	CORE 0x6c	2  R B  W D
432# cvtbh		CVT TNX2	ESCD 0x6c	2  R B  W H
433
434# cvtwb		CVT TNX2	CORE 0x33	2  R W  W B
435# cvtwl		CVT TNX2	CORE 0x32	2  R W  W L
436# cvtwf		CVT TNX2	CORE 0x4d	2  R W  W F
437# cvtwg		CVT TNX2	ESCD 0x4d	2  R W  W G
438# cvtwd		CVT TNX2	CORE 0x6d	2  R W  W D
439# cvtwh		CVT TNX2	ESCD 0x6d	2  R W  W H
440
441# cvtlb		CVT TNX2	CORE 0xf6	2  R L  W B
442# cvtlw		CVT TNX2	CORE 0xf7	2  R L  W W
443# cvtlf		CVT TNX2	CORE 0x4e	2  R L  W F
444# cvtlg		CVT TNX2	ESCD 0x4e	2  R L  W G
445# cvtld		CVT TNX2	CORE 0x6e	2  R L  W D
446# cvtlh		CVT TNX2	ESCD 0x6e	2  R L  W H
447
448# cvtfb		CVT TNX2	CORE 0x48	2  R F  W B
449# cvtfw		CVT TNX2	CORE 0x49	2  R F  W W
450# cvtfl		CVT TNX2	CORE 0x4a	2  R F  W L
451# cvtrfl	CVT TNX2	CORE 0x4b	2  R F  W L
452# cvtfd		CVT TNX2	CORE 0x56	2  R F  W D
453# cvtfg		CVT TNX2	ESCD 0x99	2  R F  W G
454# cvtfh		CVT TNX2	ESCD 0x98	2  R F  W H
455
456# cvtgb		CVT TNX2	ESCD 0x48	2  R G  W B
457# cvtgw		CVT TNX2	ESCD 0x49	2  R G  W W
458# cvtgl		CVT TNX2	ESCD 0x4a	2  R G  W L
459# cvtrgl	CVT TNX2	ESCD 0x4b	2  R G  W L
460# cvtgf		CVT TNX2	ESCD 0x33	2  R G  W F
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# movag		MOVA TN1	CORE 0x7e	2  A G  W L
513# movah		MOVA TN1	ESCD 0x7e	2  A H  W L
514
515# movb		MOV TN1		CORE 0x90	2  R B  W B
516# movw		MOV TN1		CORE 0xb0	2  R W  W W
517# movl		MOV TN1		CORE 0xd0	2  R L  W L
518# movf		MOV TN1		CORE 0x50	2  R F  W F
519# movq		MOV TN1		CORE 0x7d	2  R Q  W Q
520# movo		MOV TN1		ESCD 0x7d	2  R O  W O
521# movg		MOV TN1		ESCD 0x50	2  R G  W G
522# movd		MOV TN1		CORE 0x70	2  R D  W D
523# movh		MOV TN1		ESCD 0x70	2  R H  W H
524
525# movzbl	MOVZ TNX2	CORE 0x9a	2  R B  W L
526# movzbw	MOVZ TNX2	CORE 0x9b	2  R B  W W
527# movzwl	MOVZ TNX2	CORE 0x3c	2  R W  W L
528
529# pushl		PUSH TN1	CORE 0xdd	1  R L
530# pushab	PUSHA TN1	CORE 0x9f	1  A B
531# pushaw	PUSHA TN1	CORE 0x3f	1  A W
532# pushal	PUSHA TN1	CORE 0xdf	1  A L
533# pushaq	PUSHA TN1	CORE 0x7f	1  A Q
534# pushao	PUSHA TN1	ESCD 0x7f	1  A O
535# pushaf	PUSHA TN1	CORE 0xdf	1  A F
536# pushad	PUSHA TN1	CORE 0x7f	1  A D
537# pushag	PUSHA TN1	CORE 0x7f	1  A G
538# pushah	PUSHA TN1	ESCD 0x7f	1  A H
539
540# acbb		ACB TN1		CORE 0x9d	4  R B  R B  M B  B W
541# acbw		ACB TN1		CORE 0x3d	4  R W  R W  M W  B W
542# acbl		ACB TN1		CORE 0xf1	4  R L  R L  M L  B W
543# acbf		ACB TN1		CORE 0x4f	4  R F  R F  M F  B W
544# acbg		ACB TN1		ESCD 0x4f	4  R G  R G  M G  B W
545# acbd		ACB TN1		CORE 0x6f	4  R D  R D  M D  B W
546# acbh		ACB TN1		ESCD 0x6f	4  R H  R H  M H  B W
547
548# aobleq	AOBLEQ S	CORE 0xf3	3  R L  M L  B B
549# aoblss	AOBLSS S	CORE 0xf2	3  R L  M L  B B
550# sobgeq	SOBGEQ S	CORE 0xf4	2  M L  B B
551# sobgtr	SOBGTR S	CORE 0xf5	2  M L  B B
552
553# addb2		ADD OP		CORE 0x80	2  R B  M B
554# addb3		ADD OP		CORE 0x81	3  R B  R B  W B
555# addw2		ADD OP		CORE 0xa0	2  R W  M W
556# addw3		ADD OP		CORE 0xa1	3  R W  R W  W W
557# addl2		ADD OP		CORE 0xc0	2  R L  M L
558# addl3		ADD OP		CORE 0xc1	3  R L  R L  W L
559# addf2		ADD OP		CORE 0x40	2  R F  M F
560# addf3		ADD OP		CORE 0x41	3  R F  R F  W F
561# addg2		ADD OP		ESCD 0x40	2  R G  M G
562# addg3		ADD OP		ESCD 0x41	3  R G  R G  W G
563# addd2		ADD OP		CORE 0x60	2  R D  M D
564# addd3		ADD OP		CORE 0x61	3  R D  R D  W D
565# addh2		ADD OP		ESCD 0x60	2  R H  M H
566# addh3		ADD OP		ESCD 0x61	3  R H  R H  W H
567
568# subb2		SUB OP		CORE 0x82	2  R B  M B
569# subb3		SUB OP		CORE 0x83	3  R B  R B  W B
570# subw2		SUB OP		CORE 0xa2	2  R W  M W
571# subw3		SUB OP		CORE 0xa3	3  R W  R W  W W
572# subl2		SUB OP		CORE 0xc2	2  R L  M L
573# subl3		SUB OP		CORE 0xc3	3  R L  R L  W L
574# subf2		SUB OP		CORE 0x42	2  R F  M F
575# subf3		SUB OP		CORE 0x43	3  R F  R F  W F
576# subg2		SUB OP		ESCD 0x42	2  R G  M G
577# subg3		SUB OP		ESCD 0x43	3  R G  R G  W G
578# subd2		SUB OP		CORE 0x62	2  R D  M D
579# subd3		SUB OP		CORE 0x63	3  R D  R D  W D
580# subh2		SUB OP		ESCD 0x62	2  R H  M H
581# subh3		SUB OP		ESCD 0x63	3  R H  R H  W H
582
583# mulb2		MUL OP		CORE 0x84	2  R B  M B
584# mulb3		MUL OP		CORE 0x85	3  R B  R B  W B
585# mulw2		MUL OP		CORE 0xa4	2  R W  M W
586# mulw3		MUL OP		CORE 0xa5	3  R W  R W  W W
587# mull2		MUL OP		CORE 0xc4	2  R L  M L
588# mull3		MUL OP		CORE 0xc5	3  R L  R L  W L
589# mulf2		MUL OP		CORE 0x44	2  R F  M F
590# mulf3		MUL OP		CORE 0x45	3  R F  R F  W F
591# mulg2		MUL OP		ESCD 0x44	2  R G  M G
592# mulg3		MUL OP		ESCD 0x45	3  R G  R G  W G
593# muld2		MUL OP		CORE 0x64	2  R D  M D
594# muld3		MUL OP		CORE 0x65	3  R D  R D  W D
595# mulh2		MUL OP		ESCD 0x64	2  R H  M H
596# mulh3		MUL OP		ESCD 0x65	3  R H  R H  W H
597
598# divb2		DIV OP		CORE 0x86	2  R B  M B
599# divb3		DIV OP		CORE 0x87	3  R B  R B  W B
600# divw2		DIV OP		CORE 0xa6	2  R W  M W
601# divw3		DIV OP		CORE 0xa7	3  R W  R W  W W
602# divl2		DIV OP		CORE 0xc6	2  R L  M L
603# divl3		DIV OP		CORE 0xc7	3  R L  R L  W L
604# divf2		DIV OP		CORE 0x46	2  R F  M F
605# divf3		DIV OP		CORE 0x47	3  R F  R F  W F
606# divg2		DIV OP		ESCD 0x46	2  R G  M G
607# divg3		DIV OP		ESCD 0x47	3  R G  R G  W G
608# divd2		DIV OP		CORE 0x66	2  R D  M D
609# divd3		DIV OP		CORE 0x67	3  R D  R D  R D
610# divh2		DIV OP		ESCD 0x66	2  R H  M H
611# divh3		DIV OP		ESCD 0x67	3  R H  R H  R H
612
613# incb		INC TN1		CORE 0x96	1  M B
614# incw		INC TN1		CORE 0xb6	1  M W
615# incl		INC TN1		CORE 0xd6	1  M L
616# decb		DEC TN1		CORE 0x97	1  M B
617# decl		DEC TN1		CORE 0xd7	1  M L
618# decw		DEC TN1		CORE 0xb7	1  M W
619
620# cmpb		CMP TN1		CORE 0x91	2  R B  R B
621# cmpw		CMP TN1		CORE 0xb1	2  R W  R W
622# cmpl		CMP TN1		CORE 0xd1	2  R L  R L
623# cmpf		CMP TN1		CORE 0x51	2  R F  R F
624# cmpg		CMP TN1		ESCD 0x51	2  R G  R G
625# cmpd		CMP TN1		CORE 0x71	2  R D  R D
626# cmph		CMP TN1		ESCD 0x71	2  R H  R H
627
628# tstb		TST TN1		CORE 0x95	1  R B
629# tstw		TST TN1		CORE 0xb5	1  R W
630# tstl		TST TN1		CORE 0xd5	1  R L
631# tstf		TST TN1		CORE 0x53	1  R F
632# tstg		TST TN1		ESCD 0x53	1  R G
633# tstd		TST TN1		CORE 0x73	1  R D
634# tsth		TST TN1		ESCD 0x73	1  R H
635
636# polyf		HARD HARD	CORE 0x55	3  R F  R W  A B
637# polyg		HARD HARD	ESCD 0x55	3  R G  R W  A B
638# polyd		HARD HARD	CORE 0x75	3  R D  R W  A B
639# polyh		HARD HARD	ESCD 0x75	3  R H  R W  A B
640
641# emul		HARD HARD	CORE 0x7a	4  R L  R L  R L  W Q
642# ediv		HARD HARD	CORE 0x7b	4  R L  R Q  W L  W L
643# emodf		HARD HARD	CORE 0x54	5  R F  R B  R F  W L  W F
644# emodd		HARD HARD	CORE 0x74	5  R D  R B  R D  W L  W D
645# emodg		HARD HARD	ESCD 0x54	5  R G  R W  R G  W L  W G
646# emodh		HARD HARD	ESCD 0x74	5  R H  R W  R H  W L  W H
647
648# mcomb		COM TN1		CORE 0x92	2  R B  W B
649# mcomw		COM TN1		CORE 0xb2	2  R W  W W
650# mcoml		COM TN1		CORE 0xd2	2  R L  W L
651
652# bicl2		BIC OP		CORE 0xca	2  R L  M L
653# bicl3		BIC OP		CORE 0xcb	3  R L  R L  W L
654# bicw2		BIC OP		CORE 0xaa	2  R W  M W
655# bicw3		BIC OP		CORE 0xab	3  R W  R W  W W
656# bicb2		BIC OP		CORE 0x8a	2  R B  M B
657# bicb3		BIC OP		CORE 0x8b	3  R B  R B  W B
658
659# bisb2		BIS OP		CORE 0x88	2  R B  M B
660# bisb3		BIS OP		CORE 0x89	3  R B  R B  W B
661# bisw2		BIS OP		CORE 0xa8	2  R W  M W
662# bisw3		BIS OP		CORE 0xa9	3  R W  R W  W W
663# bisl2		BIS OP		CORE 0xc8	2  R L  M L
664# bisl3		BIS OP		CORE 0xc9	3  R L  R L  W L
665
666# xorb2		XOR OP		CORE 0x8c	2  R B  M B
667# xorb3		XOR OP		CORE 0x8d	3  R B  R B  W B
668# xorw2		XOR OP		CORE 0xac	2  R W  M W
669# xorw3		XOR OP		CORE 0xad	3  R W  R W  W W
670# xorl2		XOR OP		CORE 0xcc	2  R L  M L
671# xorl3		XOR OP		CORE 0xcd	3  R L  R L  W L
672