4.1cBSD/usr/src/bin/as/instrs

##
##	Copyright (c) 1982 Regents of the University of California
##	@(#)instrs 4.6 11/11/82
##
##	Robert R. Henry
##	University of California, Berkeley
##	Berkeley, CA
##	February 6, 1982
##
##	THIS FILE IS BOTH AN AWK SCRIPT AND THE DATA
##
##	Instruction definitions for the VAX
##
##	This file is processed by an awk script, viz:
##	(echo "FLAVOR AS"; cat instrs) | awk -f instrs > as.instrs
##	(echo "FLAVOR ADB"; cat instrs) | awk -f instrs > as.instrs
##	(echo "FLAVOR SDB"; cat instrs) | awk -f instrs > as.instrs
##	(echo "FLAVOR C2"; cat instrs) | awk -f instrs > c2.instrs
##
##	The data in this file is shared between:
##	as	assembler
##	c2	optimizer
##	adb	debugger
##	sdb	symbolic debugger
##
##	The awk script reads itself, and produces macros understood
##	by the appropriate consumer. The awk script determines how
##	to interpret the file by looking for a line of the form:
##	FLAVOR	AS
##	FLAVOR	ADB		(same as AS, but without pseudo instructions)
##	FLAVOR	SDB		(same as ADB)
##	FLAVOR	C2		(radically different format for instructions)
##	and proceeding accordingly.  This line should be prepended to
##	the front of this file.
##
##	Lines starting with # are always comments to awk
##	Lines starting with ## are always comments
##	Lines starting with a single # are data lines, to be output.
##
##	Empty lines are passed through
##
##	field	user(s)		what
##
##	$1	awk		#: comment to awk
##
##	$2	as, c2, adb	instruction name
##
##	$3	c2		instruction class
##	$4	c2		instruction sub class
##				HARD, TN1, TN2, TN3, TNX2, OP
##
##	$5	as, adb		escape opcode byte (NONE, NEW, ESCD, ESCF)
##	$6	as, adb		primary opcode byte
##	
##	$7	as, adb		number of arguments
##	$8	as, adb		1st operand: access A,R,W,M,I,B
##	$9	as, adb		1st operand: type, BWLQOFDGH
##
##	$10	as, adb		2nd operand: access
##		...
##
##
##	These are the definitions used in this file:
##	instruction class (c2)
##		understood only by c2.  If it is HARD, the second field
##		is ignored.
##	instruction subclass: (c2)
##		HARD		paired with the class
##		S		single valued attribute to C2
##		TN1		class + type of 1st operand
##		TN2		class + type of 2nd operand
##		TN3		class + type of 3rd operand
##		TNX2		class + type of 1st and 2nd operand
##		OP		class + type of 1st operand and # of args
##		default		class + subclass
##
##	escape byte:
##		CORE		1 byte opcodes in all VAXen
##		NEW		1 byte opcodes only in newer VAXen
##		ESCD		2 byte opcodes, escape byte of 0xFD, newer VAXen
##		ESCF		2 byte opcodes, escape byte of 0xFF, newer VAXen
##	code byte
##	number of arguments
##	Access type
##		A		for address
##		W		for writing
##		R		for reading
##		M		for modifying
##		B		for branch displacement
##		I		for xfc code
##	Data types
##		B	byte
##		W	word
##		L	long
##		Q	quad
##		O	octa
##		F	f_float
##		D	d_float
##		G	g_float
##		H	h_float
##
##	The order of instructions in this table is not critical;
##	the clients take care of their own table construction and ordering.
##	The instructions are grouped (more or less) into functional groups.
##
##	The following is the awk program to interpret this table.

BEGIN{
	flavor = AS;
}
{
	if (NF == 0){
		printf("\n");
		next;
	}
	if ($1 == "FLAVOR"){
		flavor = $2;
		if (flavor == "SDB"){
			flavor = "ADB";
		}
		next;
	}
	if ($1 != "#"){
		next;
	}

	if ($5 == "MACR"){
		if (flavor == "ADB"){
			next;
		}
		if (flavor == "AS"){
			if ($3 == "CBR")
				$3 = "IJXXX";
			printf("PSEUDO(\"%s\", %s, %s),\n", $2, $6, $3);
			next;
		}
		if (flavor == "C2"){
			if ($4 == "C2X")
				next;
			printf("\"%s\",", $2);
			if ($3 == "CBR" && $4 != "JBR"){
				printf("T(CBR,%s),\n", $4);
			} else {
				printf("%s,\n", $4);
			}
			next;
		}
	}

	if (flavor == "C2"){
		printf("\"%s\",", $2);
		if ($3 == "HARD"){		# 0 value
			printf("0,\n");
			next;
		}
		if ($4 == "S"){			# single value
			printf("%s,\n", $3);
			next;
		}
		if ($4 == "TN1"){		# use type of 1st operand
			printf("T(%s,TYP%s),\n", $3, $9);
			next;
		}
		if ($4 == "TN3"){		# use type of 3rd operand
			printf("T(%s,TYP%s),\n", $3, $13);
			next;
		}
		if ($4 == "TNX2"){		# cross product of 1st and 2nd operand
			printf("T(%s,U(TYP%s,TYP%s)),\n", $3, $9, $11);
			next;
		}
		if ($4 == "OP"){		# arithmetic operator
			printf("T(%s,U(TYP%s,OP%d)),\n", $3, $9, $7);
			next;
		}
		printf("T(%s,%s),\n", $3, $4);	# special value
		next;
	}
	if (flavor == "AS" || flavor == "ADB"){
		printf("OP(\"%s\", %s, %s, %d", $2, $5, $6, $7);
		for (i = 8; i+1 <= NF; i = i + 2){
			printf(", A_%s%s", $i, $(i+1));
		}
		for (i = $7; i < 6; i++){
			printf(",0");
		}
		printf("),\n");
	}
}
##
##-------------------------------------------------------
##1 2		3     4  	5    6	        7  8 9
##
##
## PSEUDO (MACR) operators come first

## Data initializers

# .byte		IBYTE	C2X	MACR 0		VAR
# .word		IWORD	WGEN	MACR 0		VAR
# .int		IINT	LGEN	MACR 0		VAR
# .long		ILONG	LGEN	MACR 0		VAR
# .quad		IQUAD	C2X	MACR 0		VAR
# .octa		IOCTA	C2X	MACR 0		VAR
# .float	IFFLOAT	C2X	MACR 0		VAR
# .double	IDFLOAT	C2X	MACR 0		VAR
# .ffloat	IFFLOAT	C2X	MACR 0		VAR
# .dfloat	IDFLOAT	C2X	MACR 0		VAR
# .gfloat	IGFLOAT	C2X	MACR 0		VAR
# .hfloat	IHFLOAT	C2X	MACR 0		VAR
# .space	ISPACE	C2X	MACR 0		1
# .fill		IFILL	C2X	MACR 0		2
# .ascii	IASCII	C2X	MACR 0		VAR
# .asciz	IASCIZ	C2X	MACR 0		VAR

# .data		IDATA	DATA	MACR 0		1
# .text		ITEXT	TEXT	MACR 0		1
# .align	IALIGN	ALIGN	MACR 0		1
	
# .line		ILINENO	C2X	MACR 0		1
# .file		IFILE	C2X	MACR 0		1

# .globl	IGLOBAL	EROU	MACR 0		1
# .comm		ICOMM	COMM	MACR 0		2
# .lcomm	ILCOMM	LCOMM	MACR 0		2
# .set		ISET	SET	MACR 0		2
# .lsym		ILSYM	C2X	MACR 0		2
# .org		IORG	C2X	MACR 0		1

# .stab		ISTAB	C2X	MACR 0		6
# .stabd	ISTABDOT	C2X	MACR 0	3
# .stabn	ISTABNONE	C2X	MACR 0	3
# .stabs	ISTABSTR	C2X	MACR 0	3

# .ABORT	IABORT	C2X	MACR 0		0

## Pseudo jumps

# jbc		CBR	JBC	MACR 0xe1	1	B B
# jlbc		CBR	JLBC	MACR 0xe9	1	B B
# jbs		CBR	JBS	MACR 0xe0	1	B B
# jlbs		CBR	JLBS	MACR 0xe8	1	B B
# jbcc		CBR	JBCC	MACR 0xe5	1	B B
# jbsc		CBR	JBSC	MACR 0xe4	1	B B
# jbcs		CBR	JBCS	MACR 0xe3	1	B B
# jbss		CBR	JBSS	MACR 0xe2	1	B B

# jbr		CBR	JBR	MACR 0x11	1	B B
# jcc		CBR	C2X	MACR 0x1e	1	B B
# jcs		CBR	C2X	MACR 0x1f	1	B B
# jvc		CBR	C2X	MACR 0x1c	1	B B
# jvs		CBR	C2X	MACR 0x1d	1	B B
# jlss		CBR	JLT	MACR 0x19	1	B B
# jlssu		CBR	JLO	MACR 0x1f	1	B B
# jleq		CBR	JLE	MACR 0x15	1	B B
# jlequ		CBR	JLOS	MACR 0x1b	1	B B
# jeql		CBR	JEQ	MACR 0x13	1	B B
# jeqlu		CBR	JEQ	MACR 0x13	1	B B
# jneq		CBR	JNE	MACR 0x12	1	B B
# jnequ		CBR	JNE	MACR 0x12	1	B B
# jgeq		CBR	JGE	MACR 0x18	1	B B
# jgequ		CBR	JHIS	MACR 0x1e	1	B B
# jgtr		CBR	JGT	MACR 0x14	1	B B
# jgtru		CBR	JHI	MACR 0x1a	1	B B
##
## Registers
##
# r0		REG	C2X	MACR 0		0
# r1		REG	C2X	MACR 1		0
# r2		REG	C2X	MACR 2		0
# r3		REG	C2X	MACR 3		0
# r4		REG	C2X	MACR 4		0
# r5		REG	C2X	MACR 5		0
# r6		REG	C2X	MACR 6		0
# r7		REG	C2X	MACR 7		0
# r8		REG	C2X	MACR 8		0
# r9		REG	C2X	MACR 9		0
# r10		REG	C2X	MACR 10		0
# r11		REG	C2X	MACR 11		0
# r12		REG	C2X	MACR 12		0
# r13		REG	C2X	MACR 13		0
# r14		REG	C2X	MACR 14		0
# r15		REG	C2X	MACR 15		0
# ap		REG	C2X	MACR 12		0
# fp		REG	C2X	MACR 13		0
# sp		REG	C2X	MACR 14		0
# pc		REG	C2X	MACR 15		0

## Normal instructions

# bicpsw	HARD HARD	CORE 0xb9	1  R W 
# bispsw	HARD HARD	CORE 0xb8	1  R W 
# movpsl	HARD HARD	CORE 0xdc	1  W L 
	 	 	
# ldpctx	HARD HARD	CORE 0x06	0 
# svpctx	HARD HARD	CORE 0x07	0 
# mfpr		MFPR TN1	CORE 0xdb	2  R L  W L 
# mtpr		MTPR TN1	CORE 0xda	2  R L  R L 
	 	 	
# prober	PROBER TN1	CORE 0x0c	3  R B  R W  A B 
# probew	PROBEW TN1	CORE 0x0d	3  R B  R W  A B 
	 	 	
# adawi		HARD HARD	CORE 0x58	2  R W  M W 
	 	 	
# chme		HARD HARD	CORE 0xbd	1  R W 
# chmk		HARD HARD	CORE 0xbc	1  R W 
# chms		HARD HARD	CORE 0xbe	1  R W 
# chmu		HARD HARD	CORE 0xbf	1  R W 
 	 	
# insque	HARD HARD	CORE 0x0e	2  A B  A B 
# insqhi	HARD HARD	NEW  0x5c	2  A B  A Q 
# insqti	HARD HARD	NEW  0x5d	2  A B  A Q 
	 	 	
# remque	HARD HARD	CORE 0x0f	2  A B  W L 
# remqhi	HARD HARD	NEW  0x5e	2  A Q  W L 
# remqti	HARD HARD	NEW  0x5f	2  A Q  W L 
	 	 	
# bpt		HARD HARD	CORE 0x03	0 
	 	 	
# escd		HARD HARD	CORE 0xfd	0 
# esce		HARD HARD	CORE 0xfe	0 
# escf		HARD HARD	CORE 0xff	0 
# xfc		HARD HARD	CORE 0xfc	0 
	 	 	
# bugw		HARD HARD	ESCF 0xfe	1  R W 
# bugl		HARD HARD	ESCF 0xfd	1  R L 
	 	 	
# nop		HARD HARD	CORE 0x01	0 
# halt		HARD HARD	CORE 0x00	0 
	 	 	
# crc		HARD HARD	CORE 0x0b	4  A B  R L  R W  A B 
	 	 	
# movp		HARD HARD	CORE 0x34	3  R W  A B  A B 
# cvtlp		HARD HARD	CORE 0xf9	3  R L  R W  A B 
# cvtpl		HARD HARD	CORE 0x36	3  R W  A B  W L 
# cvttp		HARD HARD	CORE 0x26	5  R W  A B  A B  R W  A B 
# cvtpt		HARD HARD	CORE 0x24	5  R W  A B  A B  R W  A B 
# cvtps		HARD HARD	CORE 0x08	4  R W  A B  R W  A B 
# cvtsp		HARD HARD	CORE 0x09	4  R W  A B  R W  A B 
	 	 	
# addp4		HARD HARD	CORE 0x20	4  R W  A B  R W  A B 
# addp6		HARD HARD	CORE 0x21	6  R W  A B  R W  A B  R W  A B 
# subp4		HARD HARD	CORE 0x22	4  R W  A B  R W  A B 
# subp6		HARD HARD	CORE 0x23	6  R W  A B  R W  A B  R W  A B 
# mulp		HARD HARD	CORE 0x25	6  R W  A B  R W  A B  R W  A B 
# divp		HARD HARD	CORE 0x27	6  R W  A B  R W  A B  R W  A B 
# cmpp3		HARD HARD	CORE 0x35	3  R W  A B  A B 
# cmpp4		HARD HARD	CORE 0x37	4  R W  A B  R W  A B 
	 	 	
# insv		INSV -1		CORE 0xf0	4  R L  R L  R B  W B 
# extv		EXTV TN1	CORE 0xee	4  R L  R B  R B  W L 
# extzv		EXTZV TN1	CORE 0xef	4  R L  R B  R B  W L 
# cmpv		HARD HARD	CORE 0xec	4  R L  R B  R B  R L 
# cmpzv		HARD HARD	CORE 0xed	4  R L  R B  R B  R L 
	 	 	
# editpc	HARD HARD	CORE 0x38	4  R W  A B  A B  A B 
# locc		HARD HARD	CORE 0x3a	3  R B  R W  A B 
# matchc	HARD HARD	CORE 0x39	4  R W  A B  R W  A B 
# skpc		HARD HARD	CORE 0x3b	3  R B  R W  A B 
# scanc		HARD HARD	CORE 0x2a	4  R W  A B  A B  R B 
# spanc		HARD HARD	CORE 0x2b	4  R W  A B  A B  R B 
# movc3		MOVC3 S		CORE 0x28	3  R W  A B  A B 
# movc5		HARD HARD	CORE 0x2c	5  R W  A B  R B  R W  A B 
# movtc		HARD HARD	CORE 0x2e	6  R W  A B  R B  A B  R W  A B 
# movtuc	HARD HARD	CORE 0x2f	6  R W  A B  R B  A B  R W  A B 
# cmpc3		HARD HARD	CORE 0x29	3  R W  A B  A B 
# cmpc5		HARD HARD	CORE 0x2d	5  R W  A B  R B  R W  A B 
	 	 	
# adwc		HARD HARD	CORE 0xd8	2  R L  M L 
# sbwc		HARD HARD	CORE 0xd9	2  R L  M L 
	 	 	
# rotl		HARD HARD	CORE 0x9c	3  R B  R L  W L 
# ashl		ASH TN3		CORE 0x78	3  R B  R L  W L 
# ashp		HARD HARD	CORE 0xf8	6  R B  R W  A B  R B  R W  A B 
# ashq		ASH TN3		CORE 0x79	3  R B  R Q  W Q 
	 	 	
# jmp		JMP S		CORE 0x17	1  A B 
# brb		JBR S		CORE 0x11	1  B B 
# brw		JBR S		CORE 0x31	1  B W 
	 	 	
# bitb		BIT TN1		CORE 0x93	2  R B  R B 
# bitw		BIT TN1		CORE 0xb3	2  R W  R W 
# bitl		BIT TN1		CORE 0xd3	2  R L  R L 
	 	 	
# bbc		CBR JBC		CORE 0xe1	3  R L  R B  B B 
# bbcc		CBR JBCC	CORE 0xe5	3  R L  R B  B B 
# bbcci		CBR JBCC	CORE 0xe7	3  R L  R B  B B 
# bbcs		CBR JBCS	CORE 0xe3	3  R L  R B  B B 
# bbs		CBR JBS		CORE 0xe0	3  R L  R B  B B 
# bbsc		CBR JBSC	CORE 0xe4	3  R L  R B  B B 
# bbss		CBR JBSS	CORE 0xe2	3  R L  R B  B B 
# bbssi		CBR JBSS	CORE 0xe6	3  R L  R B  B B 
# bcc		CBR JHIS	CORE 0x1e	1  B B 
# bcs		CBR JLO		CORE 0x1f	1  B B 
# blbs		CBR JLBS	CORE 0xe8	2  R L  B B 
# blbc		CBR JLBC	CORE 0xe9	2  R L  B B 
	 	 	
# beql		CBR JEQ		CORE 0x13	1  B B 
# beqlu		CBR JEQ		CORE 0x13	1  B B 
# bgeq		CBR JGE		CORE 0x18	1  B B 
# bgequ		CBR JHIS	CORE 0x1e	1  B B 
# bgtr		CBR JGT		CORE 0x14	1  B B 
# bgtru		CBR JHI		CORE 0x1a	1  B B 
# bleq		CBR JLE		CORE 0x15	1  B B 
# blequ		CBR JLOS	CORE 0x1b	1  B B 
# blss		CBR JLT		CORE 0x19	1  B B 
# blssu		CBR JLO		CORE 0x1f	1  B B 
# bneq		CBR JNE		CORE 0x12	1  B B 
# bnequ		CBR JNE		CORE 0x12	1  B B 
# bvc		CBR 0		CORE 0x1c	1  B B 
# bvs		CBR 0		CORE 0x1d	1  B B 
	 	 	
# caseb		CASE TN1	CORE 0x8f	3  R B  R B  R B 
# casew		CASE TN1	CORE 0xaf	3  R W  R W  R W 
# casel		CASE TN1	CORE 0xcf	3  R L  R L  R L 
	 	 	
# clrb		CLR TN1		CORE 0x94	1  W B 
# clrw		CLR TN1		CORE 0xb4	1  W W 
# clrl		CLR TN1		CORE 0xd4	1  W L 
# clrq		CLR TN1		CORE 0x7c	1  W Q 
# clro		CLR TN1		ESCD 0x7c	1  W O 
# clrf		CLR TN1		CORE 0xd4	1  W F 
# clrd		CLR TN1		CORE 0x7c	1  W D 
# clrg		CLR TN1		CORE 0x7c	1  W D 
# clrh		CLR TN1		ESCD 0x7c	1  W H 
	 	 	
# cvtbw		CVT TNX2	CORE 0x99	2  R B  W W 
# cvtbl		CVT TNX2	CORE 0x98	2  R B  W L 
# cvtbf		CVT TNX2	CORE 0x4c	2  R B  W F 
# cvtbg		CVT TNX2	ESCD 0x4c	2  R B  W G 
# cvtbd		CVT TNX2	CORE 0x6c	2  R B  W D 
# cvtbh		CVT TNX2	ESCD 0x6c	2  R B  W H 
	 	 	
# cvtwb		CVT TNX2	CORE 0x33	2  R W  W B 
# cvtwl		CVT TNX2	CORE 0x32	2  R W  W L 
# cvtwf		CVT TNX2	CORE 0x4d	2  R W  W F 
# cvtwg		CVT TNX2	ESCD 0x4d	2  R W  W G 
# cvtwd		CVT TNX2	CORE 0x6d	2  R W  W D 
# cvtwh		CVT TNX2	ESCD 0x6d	2  R W  W H 
	 	 	
# cvtlb		CVT TNX2	CORE 0xf6	2  R L  W B 
# cvtlw		CVT TNX2	CORE 0xf7	2  R L  W W 
# cvtlf		CVT TNX2	CORE 0x4e	2  R L  W F 
# cvtlg		CVT TNX2	ESCD 0x4e	2  R L  W G 
# cvtld		CVT TNX2	CORE 0x6e	2  R L  W D 
# cvtlh		CVT TNX2	ESCD 0x6e	2  R L  W H 
	 	 	
# cvtfb		CVT TNX2	CORE 0x48	2  R F  W B 
# cvtfw		CVT TNX2	CORE 0x49	2  R F  W W 
# cvtfl		CVT TNX2	CORE 0x4a	2  R F  W L 
# cvtrfl	CVT TNX2	CORE 0x4b	2  R F  W L 
# cvtfd		CVT TNX2	CORE 0x56	2  R F  W D 
# cvtfg		CVT TNX2	ESCD 0x99	2  R F  W G 
# cvtfh		CVT TNX2	ESCD 0x98	2  R F  W H 
	 	 	
# cvtgb		CVT TNX2	ESCD 0x48	2  R G  W B 
# cvtgw		CVT TNX2	ESCD 0x49	2  R G  W W 
# cvtgl		CVT TNX2	ESCD 0x4a	2  R G  W L 
# cvtrgl	CVT TNX2	ESCD 0x4b	2  R G  W L 
# cvtgf		CVT TNX2	ESCD 0x33	2  R G  W F 
# cvtgh		CVT TNX2	ESCD 0x56	2  R G  W H 
	 	 	
# cvtdb		CVT TNX2	CORE 0x68	2  R D  W B 
# cvtdw		CVT TNX2	CORE 0x69	2  R D  W W 
# cvtdl		CVT TNX2	CORE 0x6a	2  R D  W L 
# cvtrdl	CVT TNX2	CORE 0x6b	2  R D  W L 
# cvtdf		CVT TNX2	CORE 0x76	2  R D  W F 
# cvtdh		CVT TNX2	ESCD 0x32	2  R D  W H 
	 	 	
# cvthb		CVT TNX2	ESCD 0x68	2  R H  W B 
# cvthw		CVT TNX2	ESCD 0x69	2  R H  W W 
# cvthl		CVT TNX2	ESCD 0x6a	2  R H  W L 
# cvtrhl	CVT TNX2	ESCD 0x6b	2  R H  W L 
# cvthf		CVT TNX2	ESCD 0xf6	2  R H  W F 
# cvthd		CVT TNX2	ESCD 0xf7	2  R H  W D 
# cvthg		CVT TNX2	ESCD 0x76	2  R H  W G 
	 	 	
# ffc		HARD HARD	CORE 0xeb	4  R L  R B  R B  W L 
# ffs		HARD HARD	CORE 0xea	4  R L  R B  R B  W L 
	 	 	
# index		HARD HARD	CORE 0x0a	6  R L  R L  R L  R L  R L  W L 
	 	 	
# rei		HARD HARD	CORE 0x02	0 
	 	 	
# callg		CALLS S		CORE 0xfa	2  A B  A B 
# calls		CALLS S		CORE 0xfb	2  R L  A B 
# ret		JBR RET		CORE 0x04	0 
	 	 	
# jsb		JSB S		CORE 0x16	1  A B 
# bsbb		HARD HARD	CORE 0x10	1  B B 
# bsbw		HARD HARD	CORE 0x30	1  B W 
# rsb		JBR RSB		CORE 0x05	0 
	 	 	
# pushr		HARD HARD	CORE 0xbb	1  R W 
# popr		HARD HARD	CORE 0xba	1  R W 
	 	 	
# mnegb		NEG TN1		CORE 0x8e	2  R B  W B 
# mnegw		NEG TN1		CORE 0xae	2  R W  W L 
# mnegl		NEG TN1		CORE 0xce	2  R L  W L 
# mnegf		NEG TN1		CORE 0x52	2  R F  W F 
# mnegg		NEG TN1		ESCD 0x52	2  R G  W G 
# mnegd		NEG TN1		CORE 0x72	2  R D  W D 
# mnegh		NEG TN1		ESCD 0x72	2  R H  W H 
	 	 	
# movab		MOVA TN1	CORE 0x9e	2  A B  W L 
# movaw		MOVA TN1	CORE 0x3e	2  A W  W L 
# moval		MOVA TN1	CORE 0xde	2  A L  W L 
# movaq		MOVA TN1	CORE 0x7e	2  A Q  W L 
# movao		MOVA TN1	ESCD 0x7e	2  A O  W L 
# movaf		MOVA TN1	CORE 0xde	2  A F  W L 
# movad		MOVA TN1	CORE 0x7e	2  A D  W L 
# movag		MOVA TN1	CORE 0x7e	2  A G  W L 
# movah		MOVA TN1	ESCD 0x7e	2  A H  W L 
	 	 	
# movb		MOV TN1		CORE 0x90	2  R B  W B 
# movw		MOV TN1		CORE 0xb0	2  R W  W W 
# movl		MOV TN1		CORE 0xd0	2  R L  W L 
# movf		MOV TN1		CORE 0x50	2  R F  W F 
# movq		MOV TN1		CORE 0x7d	2  R Q  W Q 
# movo		MOV TN1		ESCD 0x7d	2  R O  W O 
# movg		MOV TN1		ESCD 0x50	2  R G  W G 
# movd		MOV TN1		CORE 0x70	2  R D  W D 
# movh		MOV TN1		ESCD 0x70	2  R H  W H 
	 	 	
# movzbl	MOVZ TNX2	CORE 0x9a	2  R B  W L 
# movzbw	MOVZ TNX2	CORE 0x9b	2  R B  W W 
# movzwl	MOVZ TNX2	CORE 0x3c	2  R W  W L 
	 	 	
# pushl		PUSH TN1	CORE 0xdd	1  R L 
# pushab	PUSHA TN1	CORE 0x9f	1  A B 
# pushaw	PUSHA TN1	CORE 0x3f	1  A W 
# pushal	PUSHA TN1	CORE 0xdf	1  A L 
# pushaq	PUSHA TN1	CORE 0x7f	1  A Q 
# pushao	PUSHA TN1	ESCD 0x7f	1  A O 
# pushaf	PUSHA TN1	CORE 0xdf	1  A F 
# pushad	PUSHA TN1	CORE 0x7f	1  A D 
# pushag	PUSHA TN1	CORE 0x7f	1  A G 
# pushah	PUSHA TN1	ESCD 0x7f	1  A H 
	 	 	
# acbb		ACB TN1		CORE 0x9d	4  R B  R B  M B  B W 
# acbw		ACB TN1		CORE 0x3d	4  R W  R W  M W  B W 
# acbl		ACB TN1		CORE 0xf1	4  R L  R L  M L  B W 
# acbf		ACB TN1		CORE 0x4f	4  R F  R F  M F  B W 
# acbg		ACB TN1		ESCD 0x4f	4  R G  R G  M G  B W 
# acbd		ACB TN1		CORE 0x6f	4  R D  R D  M D  B W 
# acbh		ACB TN1		ESCD 0x6f	4  R H  R H  M H  B W 
	 	 	
# aobleq	AOBLEQ S	CORE 0xf3	3  R L  M L  B B 
# aoblss	AOBLSS S	CORE 0xf2	3  R L  M L  B B 
# sobgeq	SOBGEQ S	CORE 0xf4	2  M L  B B 
# sobgtr	SOBGTR S	CORE 0xf5	2  M L  B B 
	 	 	
# addb2		ADD OP		CORE 0x80	2  R B  M B 
# addb3		ADD OP		CORE 0x81	3  R B  R B  W B 
# addw2		ADD OP		CORE 0xa0	2  R W  M W 
# addw3		ADD OP		CORE 0xa1	3  R W  R W  W W 
# addl2		ADD OP		CORE 0xc0	2  R L  M L 
# addl3		ADD OP		CORE 0xc1	3  R L  R L  W L 
# addf2		ADD OP		CORE 0x40	2  R F  M F 
# addf3		ADD OP		CORE 0x41	3  R F  R F  W F 
# addg2		ADD OP		ESCD 0x40	2  R G  M G 
# addg3		ADD OP		ESCD 0x41	3  R G  R G  W G 
# addd2		ADD OP		CORE 0x60	2  R D  M D 
# addd3		ADD OP		CORE 0x61	3  R D  R D  W D 
# addh2		ADD OP		ESCD 0x60	2  R H  M H 
# addh3		ADD OP		ESCD 0x61	3  R H  R H  W H 
	 	 	
# subb2		SUB OP		CORE 0x82	2  R B  M B 
# subb3		SUB OP		CORE 0x83	3  R B  R B  W B 
# subw2		SUB OP		CORE 0xa2	2  R W  M W 
# subw3		SUB OP		CORE 0xa3	3  R W  R W  W W 
# subl2		SUB OP		CORE 0xc2	2  R L  M L 
# subl3		SUB OP		CORE 0xc3	3  R L  R L  W L 
# subf2		SUB OP		CORE 0x42	2  R F  M F 
# subf3		SUB OP		CORE 0x43	3  R F  R F  W F 
# subg2		SUB OP		ESCD 0x42	2  R G  M G 
# subg3		SUB OP		ESCD 0x43	3  R G  R G  W G 
# subd2		SUB OP		CORE 0x62	2  R D  M D 
# subd3		SUB OP		CORE 0x63	3  R D  R D  W D 
# subh2		SUB OP		ESCD 0x62	2  R H  M H 
# subh3		SUB OP		ESCD 0x63	3  R H  R H  W H 
	 	 	
# mulb2		MUL OP		CORE 0x84	2  R B  M B 
# mulb3		MUL OP		CORE 0x85	3  R B  R B  W B 
# mulw2		MUL OP		CORE 0xa4	2  R W  M W 
# mulw3		MUL OP		CORE 0xa5	3  R W  R W  W W 
# mull2		MUL OP		CORE 0xc4	2  R L  M L 
# mull3		MUL OP		CORE 0xc5	3  R L  R L  W L 
# mulf2		MUL OP		CORE 0x44	2  R F  M F 
# mulf3		MUL OP		CORE 0x45	3  R F  R F  W F 
# mulg2		MUL OP		ESCD 0x44	2  R G  M G 
# mulg3		MUL OP		ESCD 0x45	3  R G  R G  W G 
# muld2		MUL OP		CORE 0x64	2  R D  M D 
# muld3		MUL OP		CORE 0x65	3  R D  R D  W D 
# mulh2		MUL OP		ESCD 0x64	2  R H  M H 
# mulh3		MUL OP		ESCD 0x65	3  R H  R H  W H 
	 	 	
# divb2		DIV OP		CORE 0x86	2  R B  M B 
# divb3		DIV OP		CORE 0x87	3  R B  R B  W B 
# divw2		DIV OP		CORE 0xa6	2  R W  M W 
# divw3		DIV OP		CORE 0xa7	3  R W  R W  W W 
# divl2		DIV OP		CORE 0xc6	2  R L  M L 
# divl3		DIV OP		CORE 0xc7	3  R L  R L  W L 
# divf2		DIV OP		CORE 0x46	2  R F  M F 
# divf3		DIV OP		CORE 0x47	3  R F  R F  W F 
# divg2		DIV OP		ESCD 0x46	2  R G  M G 
# divg3		DIV OP		ESCD 0x47	3  R G  R G  W G 
# divd2		DIV OP		CORE 0x66	2  R D  M D 
# divd3		DIV OP		CORE 0x67	3  R D  R D  R D 
# divh2		DIV OP		ESCD 0x66	2  R H  M H 
# divh3		DIV OP		ESCD 0x67	3  R H  R H  R H 
	 	 	
# incb		INC TN1		CORE 0x96	1  M B 
# incw		INC TN1		CORE 0xb6	1  M W 
# incl		INC TN1		CORE 0xd6	1  M L 
# decb		DEC TN1		CORE 0x97	1  M B 
# decl		DEC TN1		CORE 0xd7	1  M L 
# decw		DEC TN1		CORE 0xb7	1  M W 
	 	 	
# cmpb		CMP TN1		CORE 0x91	2  R B  R B 
# cmpw		CMP TN1		CORE 0xb1	2  R W  R W 
# cmpl		CMP TN1		CORE 0xd1	2  R L  R L 
# cmpf		CMP TN1		CORE 0x51	2  R F  R F 
# cmpg		CMP TN1		ESCD 0x51	2  R G  R G 
# cmpd		CMP TN1		CORE 0x71	2  R D  R D 
# cmph		CMP TN1		ESCD 0x71	2  R H  R H 
	 	 	
# tstb		TST TN1		CORE 0x95	1  R B 
# tstw		TST TN1		CORE 0xb5	1  R W 
# tstl		TST TN1		CORE 0xd5	1  R L 
# tstf		TST TN1		CORE 0x53	1  R F 
# tstg		TST TN1		ESCD 0x53	1  R G 
# tstd		TST TN1		CORE 0x73	1  R D 
# tsth		TST TN1		ESCD 0x73	1  R H 
	 	 	
# polyf		HARD HARD	CORE 0x55	3  R F  R W  A B 
# polyg		HARD HARD	ESCD 0x55	3  R G  R W  A B 
# polyd		HARD HARD	CORE 0x75	3  R D  R W  A B 
# polyh		HARD HARD	ESCD 0x75	3  R H  R W  A B 
	 	 	
# emul		HARD HARD	CORE 0x7a	4  R L  R L  R L  W Q 
# ediv		HARD HARD	CORE 0x7b	4  R L  R Q  W L  W L 
# emodf		HARD HARD	CORE 0x54	5  R F  R B  R F  W L  W F 
# emodd		HARD HARD	CORE 0x74	5  R D  R B  R D  W L  W D 
# emodg		HARD HARD	ESCD 0x54	5  R G  R W  R G  W L  W G 
# emodh		HARD HARD	ESCD 0x74	5  R H  R W  R H  W L  W H 
	 	 	
# mcomb		COM TN1		CORE 0x92	2  R B  W B 
# mcomw		COM TN1		CORE 0xb2	2  R W  W W 
# mcoml		COM TN1		CORE 0xd2	2  R L  W L 
	 	 	
# bicl2		BIC OP		CORE 0xca	2  R L  M L 
# bicl3		BIC OP		CORE 0xcb	3  R L  R L  W L 
# bicw2		BIC OP		CORE 0xaa	2  R W  M W 
# bicw3		BIC OP		CORE 0xab	3  R W  R W  W W 
# bicb2		BIC OP		CORE 0x8a	2  R B  M B 
# bicb3		BIC OP		CORE 0x8b	3  R B  R B  W B 
	 	 	
# bisb2		BIS OP		CORE 0x88	2  R B  M B 
# bisb3		BIS OP		CORE 0x89	3  R B  R B  W B 
# bisw2		BIS OP		CORE 0xa8	2  R W  M W 
# bisw3		BIS OP		CORE 0xa9	3  R W  R W  W W 
# bisl2		BIS OP		CORE 0xc8	2  R L  M L 
# bisl3		BIS OP		CORE 0xc9	3  R L  R L  W L 
	 	 	
# xorb2		XOR OP		CORE 0x8c	2  R B  M B 
# xorb3		XOR OP		CORE 0x8d	3  R B  R B  W B 
# xorw2		XOR OP		CORE 0xac	2  R W  M W 
# xorw3		XOR OP		CORE 0xad	3  R W  R W  W W 
# xorl2		XOR OP		CORE 0xcc	2  R L  M L 
# xorl3		XOR OP		CORE 0xcd	3  R L  R L  W L