1708 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			1708 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			C
		
	
	
	
| /* Information for instruction disassembly on the Convex.
 | |
|    Copyright 1989, 1993, 2002 Free Software Foundation, Inc.
 | |
| 
 | |
| This file is part of GDB.
 | |
| 
 | |
| This program is free software; you can redistribute it and/or modify
 | |
| it under the terms of the GNU General Public License as published by
 | |
| the Free Software Foundation; either version 2 of the License, or
 | |
| (at your option) any later version.
 | |
| 
 | |
| This program is distributed in the hope that it will be useful,
 | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| GNU General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU General Public License
 | |
| along with this program; if not, write to the Free Software
 | |
| Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 | |
| 
 | |
| #define xxx 0
 | |
| #define rrr 1
 | |
| #define rr 2
 | |
| #define rxr 3
 | |
| #define r 4
 | |
| #define nops 5
 | |
| #define nr 6
 | |
| #define pcrel 7
 | |
| #define lr 8
 | |
| #define rxl 9
 | |
| #define rlr 10
 | |
| #define rrl 11
 | |
| #define iml 12
 | |
| #define imr 13
 | |
| #define a1r 14
 | |
| #define a1l 15
 | |
| #define a2r 16
 | |
| #define a2l 17
 | |
| #define a3 18
 | |
| #define a4 19
 | |
| #define a5 20
 | |
| #define V 1
 | |
| #define S 2
 | |
| #define VM 3
 | |
| #define A 4
 | |
| #define VL 5
 | |
| #define VS 6
 | |
| #define VLS 7
 | |
| #define PSW 8
 | |
| /* Prevent an error during "make depend".  */
 | |
| #if !defined (PC)
 | |
| #define PC 9
 | |
| #endif
 | |
| #define ITR 10
 | |
| #define VV 11
 | |
| #define ITSR 12
 | |
| #define TOC 13
 | |
| #define CIR 14
 | |
| #define TTR 15
 | |
| #define VMU 16
 | |
| #define VML 17
 | |
| #define ICR 18
 | |
| #define TCPU 19
 | |
| #define CPUID 20
 | |
| #define TID 21
 | |
| 
 | |
| const char *op[] = {
 | |
|   "",
 | |
|   "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7",
 | |
|   "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7",
 | |
|   "vm",
 | |
|   "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp",
 | |
|   "vl",
 | |
|   "vs",
 | |
|   "vls",
 | |
|   "psw",
 | |
|   "pc",
 | |
|   "itr",
 | |
|   "vv",
 | |
|   "itsr",
 | |
|   "toc",
 | |
|   "cir",
 | |
|   "ttr",
 | |
|   "vmu",
 | |
|   "vml",
 | |
|   "icr",
 | |
|   "tcpu",
 | |
|   "cpuid",
 | |
|   "tid",
 | |
| };
 | |
| 
 | |
| const struct formstr format0[] = {
 | |
|   {0,0,rrr,V,S,S},	/* mov */
 | |
|   {0,0,rrr,S,S,V},	/* mov */
 | |
|   {1,1,rrr,V,V,V},	/* merg.t */
 | |
|   {2,1,rrr,V,V,V},	/* mask.t */
 | |
|   {1,2,rrr,V,S,V},	/* merg.f */
 | |
|   {2,2,rrr,V,S,V},	/* mask.f */
 | |
|   {1,1,rrr,V,S,V},	/* merg.t */
 | |
|   {2,1,rrr,V,S,V},	/* mask.t */
 | |
|   {3,3,rrr,V,V,V},	/* mul.s */
 | |
|   {3,4,rrr,V,V,V},	/* mul.d */
 | |
|   {4,3,rrr,V,V,V},	/* div.s */
 | |
|   {4,4,rrr,V,V,V},	/* div.d */
 | |
|   {3,3,rrr,V,S,V},	/* mul.s */
 | |
|   {3,4,rrr,V,S,V},	/* mul.d */
 | |
|   {4,3,rrr,V,S,V},	/* div.s */
 | |
|   {4,4,rrr,V,S,V},	/* div.d */
 | |
|   {5,0,rrr,V,V,V},	/* and */
 | |
|   {6,0,rrr,V,V,V},	/* or */
 | |
|   {7,0,rrr,V,V,V},	/* xor */
 | |
|   {8,0,rrr,V,V,V},	/* shf */
 | |
|   {5,0,rrr,V,S,V},	/* and */
 | |
|   {6,0,rrr,V,S,V},	/* or */
 | |
|   {7,0,rrr,V,S,V},	/* xor */
 | |
|   {8,0,rrr,V,S,V},	/* shf */
 | |
|   {9,3,rrr,V,V,V},	/* add.s */
 | |
|   {9,4,rrr,V,V,V},	/* add.d */
 | |
|   {10,3,rrr,V,V,V},	/* sub.s */
 | |
|   {10,4,rrr,V,V,V},	/* sub.d */
 | |
|   {9,3,rrr,V,S,V},	/* add.s */
 | |
|   {9,4,rrr,V,S,V},	/* add.d */
 | |
|   {10,3,rrr,V,S,V},	/* sub.s */
 | |
|   {10,4,rrr,V,S,V},	/* sub.d */
 | |
|   {9,5,rrr,V,V,V},	/* add.b */
 | |
|   {9,6,rrr,V,V,V},	/* add.h */
 | |
|   {9,7,rrr,V,V,V},	/* add.w */
 | |
|   {9,8,rrr,V,V,V},	/* add.l */
 | |
|   {9,5,rrr,V,S,V},	/* add.b */
 | |
|   {9,6,rrr,V,S,V},	/* add.h */
 | |
|   {9,7,rrr,V,S,V},	/* add.w */
 | |
|   {9,8,rrr,V,S,V},	/* add.l */
 | |
|   {10,5,rrr,V,V,V},	/* sub.b */
 | |
|   {10,6,rrr,V,V,V},	/* sub.h */
 | |
|   {10,7,rrr,V,V,V},	/* sub.w */
 | |
|   {10,8,rrr,V,V,V},	/* sub.l */
 | |
|   {10,5,rrr,V,S,V},	/* sub.b */
 | |
|   {10,6,rrr,V,S,V},	/* sub.h */
 | |
|   {10,7,rrr,V,S,V},	/* sub.w */
 | |
|   {10,8,rrr,V,S,V},	/* sub.l */
 | |
|   {3,5,rrr,V,V,V},	/* mul.b */
 | |
|   {3,6,rrr,V,V,V},	/* mul.h */
 | |
|   {3,7,rrr,V,V,V},	/* mul.w */
 | |
|   {3,8,rrr,V,V,V},	/* mul.l */
 | |
|   {3,5,rrr,V,S,V},	/* mul.b */
 | |
|   {3,6,rrr,V,S,V},	/* mul.h */
 | |
|   {3,7,rrr,V,S,V},	/* mul.w */
 | |
|   {3,8,rrr,V,S,V},	/* mul.l */
 | |
|   {4,5,rrr,V,V,V},	/* div.b */
 | |
|   {4,6,rrr,V,V,V},	/* div.h */
 | |
|   {4,7,rrr,V,V,V},	/* div.w */
 | |
|   {4,8,rrr,V,V,V},	/* div.l */
 | |
|   {4,5,rrr,V,S,V},	/* div.b */
 | |
|   {4,6,rrr,V,S,V},	/* div.h */
 | |
|   {4,7,rrr,V,S,V},	/* div.w */
 | |
|   {4,8,rrr,V,S,V},	/* div.l */
 | |
| };
 | |
| 
 | |
| const struct formstr format1[] = {
 | |
|   {11,0,xxx,0,0,0},	/* exit */
 | |
|   {12,0,a3,0,0,0},	/* jmp */
 | |
|   {13,2,a3,0,0,0},	/* jmpi.f */
 | |
|   {13,1,a3,0,0,0},	/* jmpi.t */
 | |
|   {14,2,a3,0,0,0},	/* jmpa.f */
 | |
|   {14,1,a3,0,0,0},	/* jmpa.t */
 | |
|   {15,2,a3,0,0,0},	/* jmps.f */
 | |
|   {15,1,a3,0,0,0},	/* jmps.t */
 | |
|   {16,0,a3,0,0,0},	/* tac */
 | |
|   {17,0,a1r,A,0,0},	/* ldea */
 | |
|   {18,8,a1l,VLS,0,0},	/* ld.l */
 | |
|   {18,9,a1l,VM,0,0},	/* ld.x */
 | |
|   {19,0,a3,0,0,0},	/* tas */
 | |
|   {20,0,a3,0,0,0},	/* pshea */
 | |
|   {21,8,a2l,VLS,0,0},	/* st.l */
 | |
|   {21,9,a2l,VM,0,0},	/* st.x */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {22,0,a3,0,0,0},	/* call */
 | |
|   {23,0,a3,0,0,0},	/* calls */
 | |
|   {24,0,a3,0,0,0},	/* callq */
 | |
|   {25,0,a1r,A,0,0},	/* pfork */
 | |
|   {26,5,a2r,S,0,0},	/* ste.b */
 | |
|   {26,6,a2r,S,0,0},	/* ste.h */
 | |
|   {26,7,a2r,S,0,0},	/* ste.w */
 | |
|   {26,8,a2r,S,0,0},	/* ste.l */
 | |
|   {18,5,a1r,A,0,0},	/* ld.b */
 | |
|   {18,6,a1r,A,0,0},	/* ld.h */
 | |
|   {18,7,a1r,A,0,0},	/* ld.w */
 | |
|   {27,7,a1r,A,0,0},	/* incr.w */
 | |
|   {21,5,a2r,A,0,0},	/* st.b */
 | |
|   {21,6,a2r,A,0,0},	/* st.h */
 | |
|   {21,7,a2r,A,0,0},	/* st.w */
 | |
|   {27,8,a1r,S,0,0},	/* incr.l */
 | |
|   {18,5,a1r,S,0,0},	/* ld.b */
 | |
|   {18,6,a1r,S,0,0},	/* ld.h */
 | |
|   {18,7,a1r,S,0,0},	/* ld.w */
 | |
|   {18,8,a1r,S,0,0},	/* ld.l */
 | |
|   {21,5,a2r,S,0,0},	/* st.b */
 | |
|   {21,6,a2r,S,0,0},	/* st.h */
 | |
|   {21,7,a2r,S,0,0},	/* st.w */
 | |
|   {21,8,a2r,S,0,0},	/* st.l */
 | |
|   {18,5,a1r,V,0,0},	/* ld.b */
 | |
|   {18,6,a1r,V,0,0},	/* ld.h */
 | |
|   {18,7,a1r,V,0,0},	/* ld.w */
 | |
|   {18,8,a1r,V,0,0},	/* ld.l */
 | |
|   {21,5,a2r,V,0,0},	/* st.b */
 | |
|   {21,6,a2r,V,0,0},	/* st.h */
 | |
|   {21,7,a2r,V,0,0},	/* st.w */
 | |
|   {21,8,a2r,V,0,0},	/* st.l */
 | |
| };
 | |
| 
 | |
| const struct formstr format2[] = {
 | |
|   {28,5,rr,A,A,0},	/* cvtw.b */
 | |
|   {28,6,rr,A,A,0},	/* cvtw.h */
 | |
|   {29,7,rr,A,A,0},	/* cvtb.w */
 | |
|   {30,7,rr,A,A,0},	/* cvth.w */
 | |
|   {28,5,rr,S,S,0},	/* cvtw.b */
 | |
|   {28,6,rr,S,S,0},	/* cvtw.h */
 | |
|   {29,7,rr,S,S,0},	/* cvtb.w */
 | |
|   {30,7,rr,S,S,0},	/* cvth.w */
 | |
|   {28,3,rr,S,S,0},	/* cvtw.s */
 | |
|   {31,7,rr,S,S,0},	/* cvts.w */
 | |
|   {32,3,rr,S,S,0},	/* cvtd.s */
 | |
|   {31,4,rr,S,S,0},	/* cvts.d */
 | |
|   {31,8,rr,S,S,0},	/* cvts.l */
 | |
|   {32,8,rr,S,S,0},	/* cvtd.l */
 | |
|   {33,3,rr,S,S,0},	/* cvtl.s */
 | |
|   {33,4,rr,S,S,0},	/* cvtl.d */
 | |
|   {34,0,rr,A,A,0},	/* ldpa */
 | |
|   {8,0,nr,A,0,0},	/* shf */
 | |
|   {18,6,nr,A,0,0},	/* ld.h */
 | |
|   {18,7,nr,A,0,0},	/* ld.w */
 | |
|   {33,7,rr,S,S,0},	/* cvtl.w */
 | |
|   {28,8,rr,S,S,0},	/* cvtw.l */
 | |
|   {35,1,rr,S,S,0},	/* plc.t */
 | |
|   {36,0,rr,S,S,0},	/* tzc */
 | |
|   {37,6,rr,A,A,0},	/* eq.h */
 | |
|   {37,7,rr,A,A,0},	/* eq.w */
 | |
|   {37,6,nr,A,0,0},	/* eq.h */
 | |
|   {37,7,nr,A,0,0},	/* eq.w */
 | |
|   {37,5,rr,S,S,0},	/* eq.b */
 | |
|   {37,6,rr,S,S,0},	/* eq.h */
 | |
|   {37,7,rr,S,S,0},	/* eq.w */
 | |
|   {37,8,rr,S,S,0},	/* eq.l */
 | |
|   {38,6,rr,A,A,0},	/* leu.h */
 | |
|   {38,7,rr,A,A,0},	/* leu.w */
 | |
|   {38,6,nr,A,0,0},	/* leu.h */
 | |
|   {38,7,nr,A,0,0},	/* leu.w */
 | |
|   {38,5,rr,S,S,0},	/* leu.b */
 | |
|   {38,6,rr,S,S,0},	/* leu.h */
 | |
|   {38,7,rr,S,S,0},	/* leu.w */
 | |
|   {38,8,rr,S,S,0},	/* leu.l */
 | |
|   {39,6,rr,A,A,0},	/* ltu.h */
 | |
|   {39,7,rr,A,A,0},	/* ltu.w */
 | |
|   {39,6,nr,A,0,0},	/* ltu.h */
 | |
|   {39,7,nr,A,0,0},	/* ltu.w */
 | |
|   {39,5,rr,S,S,0},	/* ltu.b */
 | |
|   {39,6,rr,S,S,0},	/* ltu.h */
 | |
|   {39,7,rr,S,S,0},	/* ltu.w */
 | |
|   {39,8,rr,S,S,0},	/* ltu.l */
 | |
|   {40,6,rr,A,A,0},	/* le.h */
 | |
|   {40,7,rr,A,A,0},	/* le.w */
 | |
|   {40,6,nr,A,0,0},	/* le.h */
 | |
|   {40,7,nr,A,0,0},	/* le.w */
 | |
|   {40,5,rr,S,S,0},	/* le.b */
 | |
|   {40,6,rr,S,S,0},	/* le.h */
 | |
|   {40,7,rr,S,S,0},	/* le.w */
 | |
|   {40,8,rr,S,S,0},	/* le.l */
 | |
|   {41,6,rr,A,A,0},	/* lt.h */
 | |
|   {41,7,rr,A,A,0},	/* lt.w */
 | |
|   {41,6,nr,A,0,0},	/* lt.h */
 | |
|   {41,7,nr,A,0,0},	/* lt.w */
 | |
|   {41,5,rr,S,S,0},	/* lt.b */
 | |
|   {41,6,rr,S,S,0},	/* lt.h */
 | |
|   {41,7,rr,S,S,0},	/* lt.w */
 | |
|   {41,8,rr,S,S,0},	/* lt.l */
 | |
|   {9,7,rr,S,A,0},	/* add.w */
 | |
|   {8,0,rr,A,A,0},	/* shf */
 | |
|   {0,0,rr,A,A,0},	/* mov */
 | |
|   {0,0,rr,S,A,0},	/* mov */
 | |
|   {0,7,rr,S,S,0},	/* mov.w */
 | |
|   {8,0,rr,S,S,0},	/* shf */
 | |
|   {0,0,rr,S,S,0},	/* mov */
 | |
|   {0,0,rr,A,S,0},	/* mov */
 | |
|   {5,0,rr,A,A,0},	/* and */
 | |
|   {6,0,rr,A,A,0},	/* or */
 | |
|   {7,0,rr,A,A,0},	/* xor */
 | |
|   {42,0,rr,A,A,0},	/* not */
 | |
|   {5,0,rr,S,S,0},	/* and */
 | |
|   {6,0,rr,S,S,0},	/* or */
 | |
|   {7,0,rr,S,S,0},	/* xor */
 | |
|   {42,0,rr,S,S,0},	/* not */
 | |
|   {40,3,rr,S,S,0},	/* le.s */
 | |
|   {40,4,rr,S,S,0},	/* le.d */
 | |
|   {41,3,rr,S,S,0},	/* lt.s */
 | |
|   {41,4,rr,S,S,0},	/* lt.d */
 | |
|   {9,3,rr,S,S,0},	/* add.s */
 | |
|   {9,4,rr,S,S,0},	/* add.d */
 | |
|   {10,3,rr,S,S,0},	/* sub.s */
 | |
|   {10,4,rr,S,S,0},	/* sub.d */
 | |
|   {37,3,rr,S,S,0},	/* eq.s */
 | |
|   {37,4,rr,S,S,0},	/* eq.d */
 | |
|   {43,6,rr,A,A,0},	/* neg.h */
 | |
|   {43,7,rr,A,A,0},	/* neg.w */
 | |
|   {3,3,rr,S,S,0},	/* mul.s */
 | |
|   {3,4,rr,S,S,0},	/* mul.d */
 | |
|   {4,3,rr,S,S,0},	/* div.s */
 | |
|   {4,4,rr,S,S,0},	/* div.d */
 | |
|   {9,6,rr,A,A,0},	/* add.h */
 | |
|   {9,7,rr,A,A,0},	/* add.w */
 | |
|   {9,6,nr,A,0,0},	/* add.h */
 | |
|   {9,7,nr,A,0,0},	/* add.w */
 | |
|   {9,5,rr,S,S,0},	/* add.b */
 | |
|   {9,6,rr,S,S,0},	/* add.h */
 | |
|   {9,7,rr,S,S,0},	/* add.w */
 | |
|   {9,8,rr,S,S,0},	/* add.l */
 | |
|   {10,6,rr,A,A,0},	/* sub.h */
 | |
|   {10,7,rr,A,A,0},	/* sub.w */
 | |
|   {10,6,nr,A,0,0},	/* sub.h */
 | |
|   {10,7,nr,A,0,0},	/* sub.w */
 | |
|   {10,5,rr,S,S,0},	/* sub.b */
 | |
|   {10,6,rr,S,S,0},	/* sub.h */
 | |
|   {10,7,rr,S,S,0},	/* sub.w */
 | |
|   {10,8,rr,S,S,0},	/* sub.l */
 | |
|   {3,6,rr,A,A,0},	/* mul.h */
 | |
|   {3,7,rr,A,A,0},	/* mul.w */
 | |
|   {3,6,nr,A,0,0},	/* mul.h */
 | |
|   {3,7,nr,A,0,0},	/* mul.w */
 | |
|   {3,5,rr,S,S,0},	/* mul.b */
 | |
|   {3,6,rr,S,S,0},	/* mul.h */
 | |
|   {3,7,rr,S,S,0},	/* mul.w */
 | |
|   {3,8,rr,S,S,0},	/* mul.l */
 | |
|   {4,6,rr,A,A,0},	/* div.h */
 | |
|   {4,7,rr,A,A,0},	/* div.w */
 | |
|   {4,6,nr,A,0,0},	/* div.h */
 | |
|   {4,7,nr,A,0,0},	/* div.w */
 | |
|   {4,5,rr,S,S,0},	/* div.b */
 | |
|   {4,6,rr,S,S,0},	/* div.h */
 | |
|   {4,7,rr,S,S,0},	/* div.w */
 | |
|   {4,8,rr,S,S,0},	/* div.l */
 | |
| };
 | |
| 
 | |
| const struct formstr format3[] = {
 | |
|   {32,3,rr,V,V,0},	/* cvtd.s */
 | |
|   {31,4,rr,V,V,0},	/* cvts.d */
 | |
|   {33,4,rr,V,V,0},	/* cvtl.d */
 | |
|   {32,8,rr,V,V,0},	/* cvtd.l */
 | |
|   {0,0,rrl,S,S,VM},	/* mov */
 | |
|   {0,0,rlr,S,VM,S},	/* mov */
 | |
|   {0,0,0,0,0,0},
 | |
|   {44,0,rr,S,S,0},	/* lop */
 | |
|   {36,0,rr,V,V,0},	/* tzc */
 | |
|   {44,0,rr,V,V,0},	/* lop */
 | |
|   {0,0,0,0,0,0},
 | |
|   {42,0,rr,V,V,0},	/* not */
 | |
|   {8,0,rr,S,V,0},	/* shf */
 | |
|   {35,1,rr,V,V,0},	/* plc.t */
 | |
|   {45,2,rr,V,V,0},	/* cprs.f */
 | |
|   {45,1,rr,V,V,0},	/* cprs.t */
 | |
|   {37,3,rr,V,V,0},	/* eq.s */
 | |
|   {37,4,rr,V,V,0},	/* eq.d */
 | |
|   {43,3,rr,V,V,0},	/* neg.s */
 | |
|   {43,4,rr,V,V,0},	/* neg.d */
 | |
|   {37,3,rr,S,V,0},	/* eq.s */
 | |
|   {37,4,rr,S,V,0},	/* eq.d */
 | |
|   {43,3,rr,S,S,0},	/* neg.s */
 | |
|   {43,4,rr,S,S,0},	/* neg.d */
 | |
|   {40,3,rr,V,V,0},	/* le.s */
 | |
|   {40,4,rr,V,V,0},	/* le.d */
 | |
|   {41,3,rr,V,V,0},	/* lt.s */
 | |
|   {41,4,rr,V,V,0},	/* lt.d */
 | |
|   {40,3,rr,S,V,0},	/* le.s */
 | |
|   {40,4,rr,S,V,0},	/* le.d */
 | |
|   {41,3,rr,S,V,0},	/* lt.s */
 | |
|   {41,4,rr,S,V,0},	/* lt.d */
 | |
|   {37,5,rr,V,V,0},	/* eq.b */
 | |
|   {37,6,rr,V,V,0},	/* eq.h */
 | |
|   {37,7,rr,V,V,0},	/* eq.w */
 | |
|   {37,8,rr,V,V,0},	/* eq.l */
 | |
|   {37,5,rr,S,V,0},	/* eq.b */
 | |
|   {37,6,rr,S,V,0},	/* eq.h */
 | |
|   {37,7,rr,S,V,0},	/* eq.w */
 | |
|   {37,8,rr,S,V,0},	/* eq.l */
 | |
|   {40,5,rr,V,V,0},	/* le.b */
 | |
|   {40,6,rr,V,V,0},	/* le.h */
 | |
|   {40,7,rr,V,V,0},	/* le.w */
 | |
|   {40,8,rr,V,V,0},	/* le.l */
 | |
|   {40,5,rr,S,V,0},	/* le.b */
 | |
|   {40,6,rr,S,V,0},	/* le.h */
 | |
|   {40,7,rr,S,V,0},	/* le.w */
 | |
|   {40,8,rr,S,V,0},	/* le.l */
 | |
|   {41,5,rr,V,V,0},	/* lt.b */
 | |
|   {41,6,rr,V,V,0},	/* lt.h */
 | |
|   {41,7,rr,V,V,0},	/* lt.w */
 | |
|   {41,8,rr,V,V,0},	/* lt.l */
 | |
|   {41,5,rr,S,V,0},	/* lt.b */
 | |
|   {41,6,rr,S,V,0},	/* lt.h */
 | |
|   {41,7,rr,S,V,0},	/* lt.w */
 | |
|   {41,8,rr,S,V,0},	/* lt.l */
 | |
|   {43,5,rr,V,V,0},	/* neg.b */
 | |
|   {43,6,rr,V,V,0},	/* neg.h */
 | |
|   {43,7,rr,V,V,0},	/* neg.w */
 | |
|   {43,8,rr,V,V,0},	/* neg.l */
 | |
|   {43,5,rr,S,S,0},	/* neg.b */
 | |
|   {43,6,rr,S,S,0},	/* neg.h */
 | |
|   {43,7,rr,S,S,0},	/* neg.w */
 | |
|   {43,8,rr,S,S,0},	/* neg.l */
 | |
| };
 | |
| 
 | |
| const struct formstr format4[] = {
 | |
|   {46,0,nops,0,0,0},	/* nop */
 | |
|   {47,0,pcrel,0,0,0},	/* br */
 | |
|   {48,2,pcrel,0,0,0},	/* bri.f */
 | |
|   {48,1,pcrel,0,0,0},	/* bri.t */
 | |
|   {49,2,pcrel,0,0,0},	/* bra.f */
 | |
|   {49,1,pcrel,0,0,0},	/* bra.t */
 | |
|   {50,2,pcrel,0,0,0},	/* brs.f */
 | |
|   {50,1,pcrel,0,0,0},	/* brs.t */
 | |
| };
 | |
| 
 | |
| const struct formstr format5[] = {
 | |
|   {51,5,rr,V,V,0},	/* ldvi.b */
 | |
|   {51,6,rr,V,V,0},	/* ldvi.h */
 | |
|   {51,7,rr,V,V,0},	/* ldvi.w */
 | |
|   {51,8,rr,V,V,0},	/* ldvi.l */
 | |
|   {28,3,rr,V,V,0},	/* cvtw.s */
 | |
|   {31,7,rr,V,V,0},	/* cvts.w */
 | |
|   {28,8,rr,V,V,0},	/* cvtw.l */
 | |
|   {33,7,rr,V,V,0},	/* cvtl.w */
 | |
|   {52,5,rxr,V,V,0},	/* stvi.b */
 | |
|   {52,6,rxr,V,V,0},	/* stvi.h */
 | |
|   {52,7,rxr,V,V,0},	/* stvi.w */
 | |
|   {52,8,rxr,V,V,0},	/* stvi.l */
 | |
|   {52,5,rxr,S,V,0},	/* stvi.b */
 | |
|   {52,6,rxr,S,V,0},	/* stvi.h */
 | |
|   {52,7,rxr,S,V,0},	/* stvi.w */
 | |
|   {52,8,rxr,S,V,0},	/* stvi.l */
 | |
| };
 | |
| 
 | |
| const struct formstr format6[] = {
 | |
|   {53,0,r,A,0,0},	/* ldsdr */
 | |
|   {54,0,r,A,0,0},	/* ldkdr */
 | |
|   {55,3,r,S,0,0},	/* ln.s */
 | |
|   {55,4,r,S,0,0},	/* ln.d */
 | |
|   {56,0,nops,0,0,0},	/* patu */
 | |
|   {57,0,r,A,0,0},	/* pate */
 | |
|   {58,0,nops,0,0,0},	/* pich */
 | |
|   {59,0,nops,0,0,0},	/* plch */
 | |
|   {0,0,lr,PSW,A,0},	/* mov */
 | |
|   {0,0,rxl,A,PSW,0},	/* mov */
 | |
|   {0,0,lr,PC,A,0},	/* mov */
 | |
|   {60,0,r,S,0,0},	/* idle */
 | |
|   {0,0,lr,ITR,S,0},	/* mov */
 | |
|   {0,0,rxl,S,ITR,0},	/* mov */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,rxl,S,ITSR,0},	/* mov */
 | |
|   {61,0,nops,0,0,0},	/* rtnq */
 | |
|   {62,0,nops,0,0,0},	/* cfork */
 | |
|   {63,0,nops,0,0,0},	/* rtn */
 | |
|   {64,0,nops,0,0,0},	/* wfork */
 | |
|   {65,0,nops,0,0,0},	/* join */
 | |
|   {66,0,nops,0,0,0},	/* rtnc */
 | |
|   {67,3,r,S,0,0},	/* exp.s */
 | |
|   {67,4,r,S,0,0},	/* exp.d */
 | |
|   {68,3,r,S,0,0},	/* sin.s */
 | |
|   {68,4,r,S,0,0},	/* sin.d */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {69,3,r,S,0,0},	/* cos.s */
 | |
|   {69,4,r,S,0,0},	/* cos.d */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {70,7,r,A,0,0},	/* psh.w */
 | |
|   {0,0,0,0,0,0},
 | |
|   {71,7,r,A,0,0},	/* pop.w */
 | |
|   {0,0,0,0,0,0},
 | |
|   {70,7,r,S,0,0},	/* psh.w */
 | |
|   {70,8,r,S,0,0},	/* psh.l */
 | |
|   {71,7,r,S,0,0},	/* pop.w */
 | |
|   {71,8,r,S,0,0},	/* pop.l */
 | |
|   {72,0,nops,0,0,0},	/* eni */
 | |
|   {73,0,nops,0,0,0},	/* dsi */
 | |
|   {74,0,nops,0,0,0},	/* bkpt */
 | |
|   {75,0,nops,0,0,0},	/* msync */
 | |
|   {76,0,r,S,0,0},	/* mski */
 | |
|   {77,0,r,S,0,0},	/* xmti */
 | |
|   {0,0,rxl,S,VV,0},	/* mov */
 | |
|   {78,0,nops,0,0,0},	/* tstvv */
 | |
|   {0,0,lr,VS,A,0},	/* mov */
 | |
|   {0,0,rxl,A,VS,0},	/* mov */
 | |
|   {0,0,lr,VL,A,0},	/* mov */
 | |
|   {0,0,rxl,A,VL,0},	/* mov */
 | |
|   {0,7,lr,VS,S,0},	/* mov.w */
 | |
|   {0,7,rxl,S,VS,0},	/* mov.w */
 | |
|   {0,7,lr,VL,S,0},	/* mov.w */
 | |
|   {0,7,rxl,S,VL,0},	/* mov.w */
 | |
|   {79,0,r,A,0,0},	/* diag */
 | |
|   {80,0,nops,0,0,0},	/* pbkpt */
 | |
|   {81,3,r,S,0,0},	/* sqrt.s */
 | |
|   {81,4,r,S,0,0},	/* sqrt.d */
 | |
|   {82,0,nops,0,0,0},	/* casr */
 | |
|   {0,0,0,0,0,0},
 | |
|   {83,3,r,S,0,0},	/* atan.s */
 | |
|   {83,4,r,S,0,0},	/* atan.d */
 | |
| };
 | |
| 
 | |
| const struct formstr format7[] = {
 | |
|   {84,5,r,V,0,0},	/* sum.b */
 | |
|   {84,6,r,V,0,0},	/* sum.h */
 | |
|   {84,7,r,V,0,0},	/* sum.w */
 | |
|   {84,8,r,V,0,0},	/* sum.l */
 | |
|   {85,0,r,V,0,0},	/* all */
 | |
|   {86,0,r,V,0,0},	/* any */
 | |
|   {87,0,r,V,0,0},	/* parity */
 | |
|   {0,0,0,0,0,0},
 | |
|   {88,5,r,V,0,0},	/* max.b */
 | |
|   {88,6,r,V,0,0},	/* max.h */
 | |
|   {88,7,r,V,0,0},	/* max.w */
 | |
|   {88,8,r,V,0,0},	/* max.l */
 | |
|   {89,5,r,V,0,0},	/* min.b */
 | |
|   {89,6,r,V,0,0},	/* min.h */
 | |
|   {89,7,r,V,0,0},	/* min.w */
 | |
|   {89,8,r,V,0,0},	/* min.l */
 | |
|   {84,3,r,V,0,0},	/* sum.s */
 | |
|   {84,4,r,V,0,0},	/* sum.d */
 | |
|   {90,3,r,V,0,0},	/* prod.s */
 | |
|   {90,4,r,V,0,0},	/* prod.d */
 | |
|   {88,3,r,V,0,0},	/* max.s */
 | |
|   {88,4,r,V,0,0},	/* max.d */
 | |
|   {89,3,r,V,0,0},	/* min.s */
 | |
|   {89,4,r,V,0,0},	/* min.d */
 | |
|   {90,5,r,V,0,0},	/* prod.b */
 | |
|   {90,6,r,V,0,0},	/* prod.h */
 | |
|   {90,7,r,V,0,0},	/* prod.w */
 | |
|   {90,8,r,V,0,0},	/* prod.l */
 | |
|   {35,2,lr,VM,S,0},	/* plc.f */
 | |
|   {35,1,lr,VM,S,0},	/* plc.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr formatx[] = {
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr format1a[] = {
 | |
|   {91,0,imr,A,0,0},	/* halt */
 | |
|   {92,0,a4,0,0,0},	/* sysc */
 | |
|   {18,6,imr,A,0,0},	/* ld.h */
 | |
|   {18,7,imr,A,0,0},	/* ld.w */
 | |
|   {5,0,imr,A,0,0},	/* and */
 | |
|   {6,0,imr,A,0,0},	/* or */
 | |
|   {7,0,imr,A,0,0},	/* xor */
 | |
|   {8,0,imr,A,0,0},	/* shf */
 | |
|   {9,6,imr,A,0,0},	/* add.h */
 | |
|   {9,7,imr,A,0,0},	/* add.w */
 | |
|   {10,6,imr,A,0,0},	/* sub.h */
 | |
|   {10,7,imr,A,0,0},	/* sub.w */
 | |
|   {3,6,imr,A,0,0},	/* mul.h */
 | |
|   {3,7,imr,A,0,0},	/* mul.w */
 | |
|   {4,6,imr,A,0,0},	/* div.h */
 | |
|   {4,7,imr,A,0,0},	/* div.w */
 | |
|   {18,7,iml,VL,0,0},	/* ld.w */
 | |
|   {18,7,iml,VS,0,0},	/* ld.w */
 | |
|   {0,0,0,0,0,0},
 | |
|   {8,7,imr,S,0,0},	/* shf.w */
 | |
|   {93,0,a5,0,0,0},	/* trap */
 | |
|   {0,0,0,0,0,0},
 | |
|   {37,6,imr,A,0,0},	/* eq.h */
 | |
|   {37,7,imr,A,0,0},	/* eq.w */
 | |
|   {38,6,imr,A,0,0},	/* leu.h */
 | |
|   {38,7,imr,A,0,0},	/* leu.w */
 | |
|   {39,6,imr,A,0,0},	/* ltu.h */
 | |
|   {39,7,imr,A,0,0},	/* ltu.w */
 | |
|   {40,6,imr,A,0,0},	/* le.h */
 | |
|   {40,7,imr,A,0,0},	/* le.w */
 | |
|   {41,6,imr,A,0,0},	/* lt.h */
 | |
|   {41,7,imr,A,0,0},	/* lt.w */
 | |
| };
 | |
| 
 | |
| const struct formstr format1b[] = {
 | |
|   {18,4,imr,S,0,0},	/* ld.d */
 | |
|   {18,10,imr,S,0,0},	/* ld.u */
 | |
|   {18,8,imr,S,0,0},	/* ld.l */
 | |
|   {18,7,imr,S,0,0},	/* ld.w */
 | |
|   {5,0,imr,S,0,0},	/* and */
 | |
|   {6,0,imr,S,0,0},	/* or */
 | |
|   {7,0,imr,S,0,0},	/* xor */
 | |
|   {8,0,imr,S,0,0},	/* shf */
 | |
|   {9,6,imr,S,0,0},	/* add.h */
 | |
|   {9,7,imr,S,0,0},	/* add.w */
 | |
|   {10,6,imr,S,0,0},	/* sub.h */
 | |
|   {10,7,imr,S,0,0},	/* sub.w */
 | |
|   {3,6,imr,S,0,0},	/* mul.h */
 | |
|   {3,7,imr,S,0,0},	/* mul.w */
 | |
|   {4,6,imr,S,0,0},	/* div.h */
 | |
|   {4,7,imr,S,0,0},	/* div.w */
 | |
|   {9,3,imr,S,0,0},	/* add.s */
 | |
|   {10,3,imr,S,0,0},	/* sub.s */
 | |
|   {3,3,imr,S,0,0},	/* mul.s */
 | |
|   {4,3,imr,S,0,0},	/* div.s */
 | |
|   {40,3,imr,S,0,0},	/* le.s */
 | |
|   {41,3,imr,S,0,0},	/* lt.s */
 | |
|   {37,6,imr,S,0,0},	/* eq.h */
 | |
|   {37,7,imr,S,0,0},	/* eq.w */
 | |
|   {38,6,imr,S,0,0},	/* leu.h */
 | |
|   {38,7,imr,S,0,0},	/* leu.w */
 | |
|   {39,6,imr,S,0,0},	/* ltu.h */
 | |
|   {39,7,imr,S,0,0},	/* ltu.w */
 | |
|   {40,6,imr,S,0,0},	/* le.h */
 | |
|   {40,7,imr,S,0,0},	/* le.w */
 | |
|   {41,6,imr,S,0,0},	/* lt.h */
 | |
|   {41,7,imr,S,0,0},	/* lt.w */
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format0[] = {
 | |
|   {10,3,rrr,S,V,V},	/* sub.s */
 | |
|   {10,4,rrr,S,V,V},	/* sub.d */
 | |
|   {4,3,rrr,S,V,V},	/* div.s */
 | |
|   {4,4,rrr,S,V,V},	/* div.d */
 | |
|   {10,11,rrr,S,V,V},	/* sub.s.f */
 | |
|   {10,12,rrr,S,V,V},	/* sub.d.f */
 | |
|   {4,11,rrr,S,V,V},	/* div.s.f */
 | |
|   {4,12,rrr,S,V,V},	/* div.d.f */
 | |
|   {3,11,rrr,V,V,V},	/* mul.s.f */
 | |
|   {3,12,rrr,V,V,V},	/* mul.d.f */
 | |
|   {4,11,rrr,V,V,V},	/* div.s.f */
 | |
|   {4,12,rrr,V,V,V},	/* div.d.f */
 | |
|   {3,11,rrr,V,S,V},	/* mul.s.f */
 | |
|   {3,12,rrr,V,S,V},	/* mul.d.f */
 | |
|   {4,11,rrr,V,S,V},	/* div.s.f */
 | |
|   {4,12,rrr,V,S,V},	/* div.d.f */
 | |
|   {5,2,rrr,V,V,V},	/* and.f */
 | |
|   {6,2,rrr,V,V,V},	/* or.f */
 | |
|   {7,2,rrr,V,V,V},	/* xor.f */
 | |
|   {8,2,rrr,V,V,V},	/* shf.f */
 | |
|   {5,2,rrr,V,S,V},	/* and.f */
 | |
|   {6,2,rrr,V,S,V},	/* or.f */
 | |
|   {7,2,rrr,V,S,V},	/* xor.f */
 | |
|   {8,2,rrr,V,S,V},	/* shf.f */
 | |
|   {9,11,rrr,V,V,V},	/* add.s.f */
 | |
|   {9,12,rrr,V,V,V},	/* add.d.f */
 | |
|   {10,11,rrr,V,V,V},	/* sub.s.f */
 | |
|   {10,12,rrr,V,V,V},	/* sub.d.f */
 | |
|   {9,11,rrr,V,S,V},	/* add.s.f */
 | |
|   {9,12,rrr,V,S,V},	/* add.d.f */
 | |
|   {10,11,rrr,V,S,V},	/* sub.s.f */
 | |
|   {10,12,rrr,V,S,V},	/* sub.d.f */
 | |
|   {9,13,rrr,V,V,V},	/* add.b.f */
 | |
|   {9,14,rrr,V,V,V},	/* add.h.f */
 | |
|   {9,15,rrr,V,V,V},	/* add.w.f */
 | |
|   {9,16,rrr,V,V,V},	/* add.l.f */
 | |
|   {9,13,rrr,V,S,V},	/* add.b.f */
 | |
|   {9,14,rrr,V,S,V},	/* add.h.f */
 | |
|   {9,15,rrr,V,S,V},	/* add.w.f */
 | |
|   {9,16,rrr,V,S,V},	/* add.l.f */
 | |
|   {10,13,rrr,V,V,V},	/* sub.b.f */
 | |
|   {10,14,rrr,V,V,V},	/* sub.h.f */
 | |
|   {10,15,rrr,V,V,V},	/* sub.w.f */
 | |
|   {10,16,rrr,V,V,V},	/* sub.l.f */
 | |
|   {10,13,rrr,V,S,V},	/* sub.b.f */
 | |
|   {10,14,rrr,V,S,V},	/* sub.h.f */
 | |
|   {10,15,rrr,V,S,V},	/* sub.w.f */
 | |
|   {10,16,rrr,V,S,V},	/* sub.l.f */
 | |
|   {3,13,rrr,V,V,V},	/* mul.b.f */
 | |
|   {3,14,rrr,V,V,V},	/* mul.h.f */
 | |
|   {3,15,rrr,V,V,V},	/* mul.w.f */
 | |
|   {3,16,rrr,V,V,V},	/* mul.l.f */
 | |
|   {3,13,rrr,V,S,V},	/* mul.b.f */
 | |
|   {3,14,rrr,V,S,V},	/* mul.h.f */
 | |
|   {3,15,rrr,V,S,V},	/* mul.w.f */
 | |
|   {3,16,rrr,V,S,V},	/* mul.l.f */
 | |
|   {4,13,rrr,V,V,V},	/* div.b.f */
 | |
|   {4,14,rrr,V,V,V},	/* div.h.f */
 | |
|   {4,15,rrr,V,V,V},	/* div.w.f */
 | |
|   {4,16,rrr,V,V,V},	/* div.l.f */
 | |
|   {4,13,rrr,V,S,V},	/* div.b.f */
 | |
|   {4,14,rrr,V,S,V},	/* div.h.f */
 | |
|   {4,15,rrr,V,S,V},	/* div.w.f */
 | |
|   {4,16,rrr,V,S,V},	/* div.l.f */
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format1[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {94,0,a3,0,0,0},	/* tst */
 | |
|   {95,0,a3,0,0,0},	/* lck */
 | |
|   {96,0,a3,0,0,0},	/* ulk */
 | |
|   {17,0,a1r,S,0,0},	/* ldea */
 | |
|   {97,0,a1r,A,0,0},	/* spawn */
 | |
|   {98,0,a1r,A,0,0},	/* ldcmr */
 | |
|   {99,0,a2r,A,0,0},	/* stcmr */
 | |
|   {100,0,a1r,A,0,0},	/* popr */
 | |
|   {101,0,a2r,A,0,0},	/* pshr */
 | |
|   {102,7,a1r,A,0,0},	/* rcvr.w */
 | |
|   {103,7,a2r,A,0,0},	/* matm.w */
 | |
|   {104,7,a2r,A,0,0},	/* sndr.w */
 | |
|   {104,8,a2r,S,0,0},	/* sndr.l */
 | |
|   {102,8,a1r,S,0,0},	/* rcvr.l */
 | |
|   {103,8,a2r,S,0,0},	/* matm.l */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {105,7,a2r,A,0,0},	/* putr.w */
 | |
|   {105,8,a2r,S,0,0},	/* putr.l */
 | |
|   {106,7,a1r,A,0,0},	/* getr.w */
 | |
|   {106,8,a1r,S,0,0},	/* getr.l */
 | |
|   {26,13,a2r,S,0,0},	/* ste.b.f */
 | |
|   {26,14,a2r,S,0,0},	/* ste.h.f */
 | |
|   {26,15,a2r,S,0,0},	/* ste.w.f */
 | |
|   {26,16,a2r,S,0,0},	/* ste.l.f */
 | |
|   {107,7,a2r,A,0,0},	/* matr.w */
 | |
|   {108,7,a2r,A,0,0},	/* mat.w */
 | |
|   {109,7,a1r,A,0,0},	/* get.w */
 | |
|   {110,7,a1r,A,0,0},	/* rcv.w */
 | |
|   {0,0,0,0,0,0},
 | |
|   {111,7,a1r,A,0,0},	/* inc.w */
 | |
|   {112,7,a2r,A,0,0},	/* put.w */
 | |
|   {113,7,a2r,A,0,0},	/* snd.w */
 | |
|   {107,8,a2r,S,0,0},	/* matr.l */
 | |
|   {108,8,a2r,S,0,0},	/* mat.l */
 | |
|   {109,8,a1r,S,0,0},	/* get.l */
 | |
|   {110,8,a1r,S,0,0},	/* rcv.l */
 | |
|   {0,0,0,0,0,0},
 | |
|   {111,8,a1r,S,0,0},	/* inc.l */
 | |
|   {112,8,a2r,S,0,0},	/* put.l */
 | |
|   {113,8,a2r,S,0,0},	/* snd.l */
 | |
|   {18,13,a1r,V,0,0},	/* ld.b.f */
 | |
|   {18,14,a1r,V,0,0},	/* ld.h.f */
 | |
|   {18,15,a1r,V,0,0},	/* ld.w.f */
 | |
|   {18,16,a1r,V,0,0},	/* ld.l.f */
 | |
|   {21,13,a2r,V,0,0},	/* st.b.f */
 | |
|   {21,14,a2r,V,0,0},	/* st.h.f */
 | |
|   {21,15,a2r,V,0,0},	/* st.w.f */
 | |
|   {21,16,a2r,V,0,0},	/* st.l.f */
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format2[] = {
 | |
|   {28,5,rr,V,V,0},	/* cvtw.b */
 | |
|   {28,6,rr,V,V,0},	/* cvtw.h */
 | |
|   {29,7,rr,V,V,0},	/* cvtb.w */
 | |
|   {30,7,rr,V,V,0},	/* cvth.w */
 | |
|   {28,13,rr,V,V,0},	/* cvtw.b.f */
 | |
|   {28,14,rr,V,V,0},	/* cvtw.h.f */
 | |
|   {29,15,rr,V,V,0},	/* cvtb.w.f */
 | |
|   {30,15,rr,V,V,0},	/* cvth.w.f */
 | |
|   {31,8,rr,V,V,0},	/* cvts.l */
 | |
|   {32,7,rr,V,V,0},	/* cvtd.w */
 | |
|   {33,3,rr,V,V,0},	/* cvtl.s */
 | |
|   {28,4,rr,V,V,0},	/* cvtw.d */
 | |
|   {31,16,rr,V,V,0},	/* cvts.l.f */
 | |
|   {32,15,rr,V,V,0},	/* cvtd.w.f */
 | |
|   {33,11,rr,V,V,0},	/* cvtl.s.f */
 | |
|   {28,12,rr,V,V,0},	/* cvtw.d.f */
 | |
|   {114,0,rr,S,S,0},	/* enal */
 | |
|   {8,7,rr,S,S,0},	/* shf.w */
 | |
|   {115,0,rr,S,S,0},	/* enag */
 | |
|   {0,0,0,0,0,0},
 | |
|   {28,4,rr,S,S,0},	/* cvtw.d */
 | |
|   {32,7,rr,S,S,0},	/* cvtd.w */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {116,3,rr,S,S,0},	/* frint.s */
 | |
|   {116,4,rr,S,S,0},	/* frint.d */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {116,3,rr,V,V,0},	/* frint.s */
 | |
|   {116,4,rr,V,V,0},	/* frint.d */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {116,11,rr,V,V,0},	/* frint.s.f */
 | |
|   {116,12,rr,V,V,0},	/* frint.d.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {81,3,rr,V,V,0},	/* sqrt.s */
 | |
|   {81,4,rr,V,V,0},	/* sqrt.d */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {81,11,rr,V,V,0},	/* sqrt.s.f */
 | |
|   {81,12,rr,V,V,0},	/* sqrt.d.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format3[] = {
 | |
|   {32,11,rr,V,V,0},	/* cvtd.s.f */
 | |
|   {31,12,rr,V,V,0},	/* cvts.d.f */
 | |
|   {33,12,rr,V,V,0},	/* cvtl.d.f */
 | |
|   {32,16,rr,V,V,0},	/* cvtd.l.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {36,2,rr,V,V,0},	/* tzc.f */
 | |
|   {44,2,rr,V,V,0},	/* lop.f */
 | |
|   {117,2,rr,V,V,0},	/* xpnd.f */
 | |
|   {42,2,rr,V,V,0},	/* not.f */
 | |
|   {8,2,rr,S,V,0},	/* shf.f */
 | |
|   {35,17,rr,V,V,0},	/* plc.t.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {37,11,rr,V,V,0},	/* eq.s.f */
 | |
|   {37,12,rr,V,V,0},	/* eq.d.f */
 | |
|   {43,11,rr,V,V,0},	/* neg.s.f */
 | |
|   {43,12,rr,V,V,0},	/* neg.d.f */
 | |
|   {37,11,rr,S,V,0},	/* eq.s.f */
 | |
|   {37,12,rr,S,V,0},	/* eq.d.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {40,11,rr,V,V,0},	/* le.s.f */
 | |
|   {40,12,rr,V,V,0},	/* le.d.f */
 | |
|   {41,11,rr,V,V,0},	/* lt.s.f */
 | |
|   {41,12,rr,V,V,0},	/* lt.d.f */
 | |
|   {40,11,rr,S,V,0},	/* le.s.f */
 | |
|   {40,12,rr,S,V,0},	/* le.d.f */
 | |
|   {41,11,rr,S,V,0},	/* lt.s.f */
 | |
|   {41,12,rr,S,V,0},	/* lt.d.f */
 | |
|   {37,13,rr,V,V,0},	/* eq.b.f */
 | |
|   {37,14,rr,V,V,0},	/* eq.h.f */
 | |
|   {37,15,rr,V,V,0},	/* eq.w.f */
 | |
|   {37,16,rr,V,V,0},	/* eq.l.f */
 | |
|   {37,13,rr,S,V,0},	/* eq.b.f */
 | |
|   {37,14,rr,S,V,0},	/* eq.h.f */
 | |
|   {37,15,rr,S,V,0},	/* eq.w.f */
 | |
|   {37,16,rr,S,V,0},	/* eq.l.f */
 | |
|   {40,13,rr,V,V,0},	/* le.b.f */
 | |
|   {40,14,rr,V,V,0},	/* le.h.f */
 | |
|   {40,15,rr,V,V,0},	/* le.w.f */
 | |
|   {40,16,rr,V,V,0},	/* le.l.f */
 | |
|   {40,13,rr,S,V,0},	/* le.b.f */
 | |
|   {40,14,rr,S,V,0},	/* le.h.f */
 | |
|   {40,15,rr,S,V,0},	/* le.w.f */
 | |
|   {40,16,rr,S,V,0},	/* le.l.f */
 | |
|   {41,13,rr,V,V,0},	/* lt.b.f */
 | |
|   {41,14,rr,V,V,0},	/* lt.h.f */
 | |
|   {41,15,rr,V,V,0},	/* lt.w.f */
 | |
|   {41,16,rr,V,V,0},	/* lt.l.f */
 | |
|   {41,13,rr,S,V,0},	/* lt.b.f */
 | |
|   {41,14,rr,S,V,0},	/* lt.h.f */
 | |
|   {41,15,rr,S,V,0},	/* lt.w.f */
 | |
|   {41,16,rr,S,V,0},	/* lt.l.f */
 | |
|   {43,13,rr,V,V,0},	/* neg.b.f */
 | |
|   {43,14,rr,V,V,0},	/* neg.h.f */
 | |
|   {43,15,rr,V,V,0},	/* neg.w.f */
 | |
|   {43,16,rr,V,V,0},	/* neg.l.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format4[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format5[] = {
 | |
|   {51,13,rr,V,V,0},	/* ldvi.b.f */
 | |
|   {51,14,rr,V,V,0},	/* ldvi.h.f */
 | |
|   {51,15,rr,V,V,0},	/* ldvi.w.f */
 | |
|   {51,16,rr,V,V,0},	/* ldvi.l.f */
 | |
|   {28,11,rr,V,V,0},	/* cvtw.s.f */
 | |
|   {31,15,rr,V,V,0},	/* cvts.w.f */
 | |
|   {28,16,rr,V,V,0},	/* cvtw.l.f */
 | |
|   {33,15,rr,V,V,0},	/* cvtl.w.f */
 | |
|   {52,13,rxr,V,V,0},	/* stvi.b.f */
 | |
|   {52,14,rxr,V,V,0},	/* stvi.h.f */
 | |
|   {52,15,rxr,V,V,0},	/* stvi.w.f */
 | |
|   {52,16,rxr,V,V,0},	/* stvi.l.f */
 | |
|   {52,13,rxr,S,V,0},	/* stvi.b.f */
 | |
|   {52,14,rxr,S,V,0},	/* stvi.h.f */
 | |
|   {52,15,rxr,S,V,0},	/* stvi.w.f */
 | |
|   {52,16,rxr,S,V,0},	/* stvi.l.f */
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format6[] = {
 | |
|   {0,0,rxl,S,CIR,0},	/* mov */
 | |
|   {0,0,lr,CIR,S,0},	/* mov */
 | |
|   {0,0,lr,TOC,S,0},	/* mov */
 | |
|   {0,0,lr,CPUID,S,0},	/* mov */
 | |
|   {0,0,rxl,S,TTR,0},	/* mov */
 | |
|   {0,0,lr,TTR,S,0},	/* mov */
 | |
|   {118,0,nops,0,0,0},	/* ctrsl */
 | |
|   {119,0,nops,0,0,0},	/* ctrsg */
 | |
|   {0,0,rxl,S,VMU,0},	/* mov */
 | |
|   {0,0,lr,VMU,S,0},	/* mov */
 | |
|   {0,0,rxl,S,VML,0},	/* mov */
 | |
|   {0,0,lr,VML,S,0},	/* mov */
 | |
|   {0,0,rxl,S,ICR,0},	/* mov */
 | |
|   {0,0,lr,ICR,S,0},	/* mov */
 | |
|   {0,0,rxl,S,TCPU,0},	/* mov */
 | |
|   {0,0,lr,TCPU,S,0},	/* mov */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {120,0,nops,0,0,0},	/* stop */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,rxl,S,TID,0},	/* mov */
 | |
|   {0,0,lr,TID,S,0},	/* mov */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e0_format7[] = {
 | |
|   {84,13,r,V,0,0},	/* sum.b.f */
 | |
|   {84,14,r,V,0,0},	/* sum.h.f */
 | |
|   {84,15,r,V,0,0},	/* sum.w.f */
 | |
|   {84,16,r,V,0,0},	/* sum.l.f */
 | |
|   {85,2,r,V,0,0},	/* all.f */
 | |
|   {86,2,r,V,0,0},	/* any.f */
 | |
|   {87,2,r,V,0,0},	/* parity.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {88,13,r,V,0,0},	/* max.b.f */
 | |
|   {88,14,r,V,0,0},	/* max.h.f */
 | |
|   {88,15,r,V,0,0},	/* max.w.f */
 | |
|   {88,16,r,V,0,0},	/* max.l.f */
 | |
|   {89,13,r,V,0,0},	/* min.b.f */
 | |
|   {89,14,r,V,0,0},	/* min.h.f */
 | |
|   {89,15,r,V,0,0},	/* min.w.f */
 | |
|   {89,16,r,V,0,0},	/* min.l.f */
 | |
|   {84,11,r,V,0,0},	/* sum.s.f */
 | |
|   {84,12,r,V,0,0},	/* sum.d.f */
 | |
|   {90,11,r,V,0,0},	/* prod.s.f */
 | |
|   {90,12,r,V,0,0},	/* prod.d.f */
 | |
|   {88,11,r,V,0,0},	/* max.s.f */
 | |
|   {88,12,r,V,0,0},	/* max.d.f */
 | |
|   {89,11,r,V,0,0},	/* min.s.f */
 | |
|   {89,12,r,V,0,0},	/* min.d.f */
 | |
|   {90,13,r,V,0,0},	/* prod.b.f */
 | |
|   {90,14,r,V,0,0},	/* prod.h.f */
 | |
|   {90,15,r,V,0,0},	/* prod.w.f */
 | |
|   {90,16,r,V,0,0},	/* prod.l.f */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format0[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {10,18,rrr,S,V,V},	/* sub.s.t */
 | |
|   {10,19,rrr,S,V,V},	/* sub.d.t */
 | |
|   {4,18,rrr,S,V,V},	/* div.s.t */
 | |
|   {4,19,rrr,S,V,V},	/* div.d.t */
 | |
|   {3,18,rrr,V,V,V},	/* mul.s.t */
 | |
|   {3,19,rrr,V,V,V},	/* mul.d.t */
 | |
|   {4,18,rrr,V,V,V},	/* div.s.t */
 | |
|   {4,19,rrr,V,V,V},	/* div.d.t */
 | |
|   {3,18,rrr,V,S,V},	/* mul.s.t */
 | |
|   {3,19,rrr,V,S,V},	/* mul.d.t */
 | |
|   {4,18,rrr,V,S,V},	/* div.s.t */
 | |
|   {4,19,rrr,V,S,V},	/* div.d.t */
 | |
|   {5,1,rrr,V,V,V},	/* and.t */
 | |
|   {6,1,rrr,V,V,V},	/* or.t */
 | |
|   {7,1,rrr,V,V,V},	/* xor.t */
 | |
|   {8,1,rrr,V,V,V},	/* shf.t */
 | |
|   {5,1,rrr,V,S,V},	/* and.t */
 | |
|   {6,1,rrr,V,S,V},	/* or.t */
 | |
|   {7,1,rrr,V,S,V},	/* xor.t */
 | |
|   {8,1,rrr,V,S,V},	/* shf.t */
 | |
|   {9,18,rrr,V,V,V},	/* add.s.t */
 | |
|   {9,19,rrr,V,V,V},	/* add.d.t */
 | |
|   {10,18,rrr,V,V,V},	/* sub.s.t */
 | |
|   {10,19,rrr,V,V,V},	/* sub.d.t */
 | |
|   {9,18,rrr,V,S,V},	/* add.s.t */
 | |
|   {9,19,rrr,V,S,V},	/* add.d.t */
 | |
|   {10,18,rrr,V,S,V},	/* sub.s.t */
 | |
|   {10,19,rrr,V,S,V},	/* sub.d.t */
 | |
|   {9,20,rrr,V,V,V},	/* add.b.t */
 | |
|   {9,21,rrr,V,V,V},	/* add.h.t */
 | |
|   {9,22,rrr,V,V,V},	/* add.w.t */
 | |
|   {9,23,rrr,V,V,V},	/* add.l.t */
 | |
|   {9,20,rrr,V,S,V},	/* add.b.t */
 | |
|   {9,21,rrr,V,S,V},	/* add.h.t */
 | |
|   {9,22,rrr,V,S,V},	/* add.w.t */
 | |
|   {9,23,rrr,V,S,V},	/* add.l.t */
 | |
|   {10,20,rrr,V,V,V},	/* sub.b.t */
 | |
|   {10,21,rrr,V,V,V},	/* sub.h.t */
 | |
|   {10,22,rrr,V,V,V},	/* sub.w.t */
 | |
|   {10,23,rrr,V,V,V},	/* sub.l.t */
 | |
|   {10,20,rrr,V,S,V},	/* sub.b.t */
 | |
|   {10,21,rrr,V,S,V},	/* sub.h.t */
 | |
|   {10,22,rrr,V,S,V},	/* sub.w.t */
 | |
|   {10,23,rrr,V,S,V},	/* sub.l.t */
 | |
|   {3,20,rrr,V,V,V},	/* mul.b.t */
 | |
|   {3,21,rrr,V,V,V},	/* mul.h.t */
 | |
|   {3,22,rrr,V,V,V},	/* mul.w.t */
 | |
|   {3,23,rrr,V,V,V},	/* mul.l.t */
 | |
|   {3,20,rrr,V,S,V},	/* mul.b.t */
 | |
|   {3,21,rrr,V,S,V},	/* mul.h.t */
 | |
|   {3,22,rrr,V,S,V},	/* mul.w.t */
 | |
|   {3,23,rrr,V,S,V},	/* mul.l.t */
 | |
|   {4,20,rrr,V,V,V},	/* div.b.t */
 | |
|   {4,21,rrr,V,V,V},	/* div.h.t */
 | |
|   {4,22,rrr,V,V,V},	/* div.w.t */
 | |
|   {4,23,rrr,V,V,V},	/* div.l.t */
 | |
|   {4,20,rrr,V,S,V},	/* div.b.t */
 | |
|   {4,21,rrr,V,S,V},	/* div.h.t */
 | |
|   {4,22,rrr,V,S,V},	/* div.w.t */
 | |
|   {4,23,rrr,V,S,V},	/* div.l.t */
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format1[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {26,20,a2r,S,0,0},	/* ste.b.t */
 | |
|   {26,21,a2r,S,0,0},	/* ste.h.t */
 | |
|   {26,22,a2r,S,0,0},	/* ste.w.t */
 | |
|   {26,23,a2r,S,0,0},	/* ste.l.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {18,20,a1r,V,0,0},	/* ld.b.t */
 | |
|   {18,21,a1r,V,0,0},	/* ld.h.t */
 | |
|   {18,22,a1r,V,0,0},	/* ld.w.t */
 | |
|   {18,23,a1r,V,0,0},	/* ld.l.t */
 | |
|   {21,20,a2r,V,0,0},	/* st.b.t */
 | |
|   {21,21,a2r,V,0,0},	/* st.h.t */
 | |
|   {21,22,a2r,V,0,0},	/* st.w.t */
 | |
|   {21,23,a2r,V,0,0},	/* st.l.t */
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format2[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {28,20,rr,V,V,0},	/* cvtw.b.t */
 | |
|   {28,21,rr,V,V,0},	/* cvtw.h.t */
 | |
|   {29,22,rr,V,V,0},	/* cvtb.w.t */
 | |
|   {30,22,rr,V,V,0},	/* cvth.w.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {31,23,rr,V,V,0},	/* cvts.l.t */
 | |
|   {32,22,rr,V,V,0},	/* cvtd.w.t */
 | |
|   {33,18,rr,V,V,0},	/* cvtl.s.t */
 | |
|   {28,19,rr,V,V,0},	/* cvtw.d.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {116,18,rr,V,V,0},	/* frint.s.t */
 | |
|   {116,19,rr,V,V,0},	/* frint.d.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {81,18,rr,V,V,0},	/* sqrt.s.t */
 | |
|   {81,19,rr,V,V,0},	/* sqrt.d.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format3[] = {
 | |
|   {32,18,rr,V,V,0},	/* cvtd.s.t */
 | |
|   {31,19,rr,V,V,0},	/* cvts.d.t */
 | |
|   {33,19,rr,V,V,0},	/* cvtl.d.t */
 | |
|   {32,23,rr,V,V,0},	/* cvtd.l.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {36,1,rr,V,V,0},	/* tzc.t */
 | |
|   {44,1,rr,V,V,0},	/* lop.t */
 | |
|   {117,1,rr,V,V,0},	/* xpnd.t */
 | |
|   {42,1,rr,V,V,0},	/* not.t */
 | |
|   {8,1,rr,S,V,0},	/* shf.t */
 | |
|   {35,24,rr,V,V,0},	/* plc.t.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {37,18,rr,V,V,0},	/* eq.s.t */
 | |
|   {37,19,rr,V,V,0},	/* eq.d.t */
 | |
|   {43,18,rr,V,V,0},	/* neg.s.t */
 | |
|   {43,19,rr,V,V,0},	/* neg.d.t */
 | |
|   {37,18,rr,S,V,0},	/* eq.s.t */
 | |
|   {37,19,rr,S,V,0},	/* eq.d.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {40,18,rr,V,V,0},	/* le.s.t */
 | |
|   {40,19,rr,V,V,0},	/* le.d.t */
 | |
|   {41,18,rr,V,V,0},	/* lt.s.t */
 | |
|   {41,19,rr,V,V,0},	/* lt.d.t */
 | |
|   {40,18,rr,S,V,0},	/* le.s.t */
 | |
|   {40,19,rr,S,V,0},	/* le.d.t */
 | |
|   {41,18,rr,S,V,0},	/* lt.s.t */
 | |
|   {41,19,rr,S,V,0},	/* lt.d.t */
 | |
|   {37,20,rr,V,V,0},	/* eq.b.t */
 | |
|   {37,21,rr,V,V,0},	/* eq.h.t */
 | |
|   {37,22,rr,V,V,0},	/* eq.w.t */
 | |
|   {37,23,rr,V,V,0},	/* eq.l.t */
 | |
|   {37,20,rr,S,V,0},	/* eq.b.t */
 | |
|   {37,21,rr,S,V,0},	/* eq.h.t */
 | |
|   {37,22,rr,S,V,0},	/* eq.w.t */
 | |
|   {37,23,rr,S,V,0},	/* eq.l.t */
 | |
|   {40,20,rr,V,V,0},	/* le.b.t */
 | |
|   {40,21,rr,V,V,0},	/* le.h.t */
 | |
|   {40,22,rr,V,V,0},	/* le.w.t */
 | |
|   {40,23,rr,V,V,0},	/* le.l.t */
 | |
|   {40,20,rr,S,V,0},	/* le.b.t */
 | |
|   {40,21,rr,S,V,0},	/* le.h.t */
 | |
|   {40,22,rr,S,V,0},	/* le.w.t */
 | |
|   {40,23,rr,S,V,0},	/* le.l.t */
 | |
|   {41,20,rr,V,V,0},	/* lt.b.t */
 | |
|   {41,21,rr,V,V,0},	/* lt.h.t */
 | |
|   {41,22,rr,V,V,0},	/* lt.w.t */
 | |
|   {41,23,rr,V,V,0},	/* lt.l.t */
 | |
|   {41,20,rr,S,V,0},	/* lt.b.t */
 | |
|   {41,21,rr,S,V,0},	/* lt.h.t */
 | |
|   {41,22,rr,S,V,0},	/* lt.w.t */
 | |
|   {41,23,rr,S,V,0},	/* lt.l.t */
 | |
|   {43,20,rr,V,V,0},	/* neg.b.t */
 | |
|   {43,21,rr,V,V,0},	/* neg.h.t */
 | |
|   {43,22,rr,V,V,0},	/* neg.w.t */
 | |
|   {43,23,rr,V,V,0},	/* neg.l.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format4[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format5[] = {
 | |
|   {51,20,rr,V,V,0},	/* ldvi.b.t */
 | |
|   {51,21,rr,V,V,0},	/* ldvi.h.t */
 | |
|   {51,22,rr,V,V,0},	/* ldvi.w.t */
 | |
|   {51,23,rr,V,V,0},	/* ldvi.l.t */
 | |
|   {28,18,rr,V,V,0},	/* cvtw.s.t */
 | |
|   {31,22,rr,V,V,0},	/* cvts.w.t */
 | |
|   {28,23,rr,V,V,0},	/* cvtw.l.t */
 | |
|   {33,22,rr,V,V,0},	/* cvtl.w.t */
 | |
|   {52,20,rxr,V,V,0},	/* stvi.b.t */
 | |
|   {52,21,rxr,V,V,0},	/* stvi.h.t */
 | |
|   {52,22,rxr,V,V,0},	/* stvi.w.t */
 | |
|   {52,23,rxr,V,V,0},	/* stvi.l.t */
 | |
|   {52,20,rxr,S,V,0},	/* stvi.b.t */
 | |
|   {52,21,rxr,S,V,0},	/* stvi.h.t */
 | |
|   {52,22,rxr,S,V,0},	/* stvi.w.t */
 | |
|   {52,23,rxr,S,V,0},	/* stvi.l.t */
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format6[] = {
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| const struct formstr e1_format7[] = {
 | |
|   {84,20,r,V,0,0},	/* sum.b.t */
 | |
|   {84,21,r,V,0,0},	/* sum.h.t */
 | |
|   {84,22,r,V,0,0},	/* sum.w.t */
 | |
|   {84,23,r,V,0,0},	/* sum.l.t */
 | |
|   {85,1,r,V,0,0},	/* all.t */
 | |
|   {86,1,r,V,0,0},	/* any.t */
 | |
|   {87,1,r,V,0,0},	/* parity.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {88,20,r,V,0,0},	/* max.b.t */
 | |
|   {88,21,r,V,0,0},	/* max.h.t */
 | |
|   {88,22,r,V,0,0},	/* max.w.t */
 | |
|   {88,23,r,V,0,0},	/* max.l.t */
 | |
|   {89,20,r,V,0,0},	/* min.b.t */
 | |
|   {89,21,r,V,0,0},	/* min.h.t */
 | |
|   {89,22,r,V,0,0},	/* min.w.t */
 | |
|   {89,23,r,V,0,0},	/* min.l.t */
 | |
|   {84,18,r,V,0,0},	/* sum.s.t */
 | |
|   {84,19,r,V,0,0},	/* sum.d.t */
 | |
|   {90,18,r,V,0,0},	/* prod.s.t */
 | |
|   {90,19,r,V,0,0},	/* prod.d.t */
 | |
|   {88,18,r,V,0,0},	/* max.s.t */
 | |
|   {88,19,r,V,0,0},	/* max.d.t */
 | |
|   {89,18,r,V,0,0},	/* min.s.t */
 | |
|   {89,19,r,V,0,0},	/* min.d.t */
 | |
|   {90,20,r,V,0,0},	/* prod.b.t */
 | |
|   {90,21,r,V,0,0},	/* prod.h.t */
 | |
|   {90,22,r,V,0,0},	/* prod.w.t */
 | |
|   {90,23,r,V,0,0},	/* prod.l.t */
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
|   {0,0,0,0,0,0},
 | |
| };
 | |
| 
 | |
| char *lop[] = {
 | |
|   "mov",	/* 0 */
 | |
|   "merg",	/* 1 */
 | |
|   "mask",	/* 2 */
 | |
|   "mul",	/* 3 */
 | |
|   "div",	/* 4 */
 | |
|   "and",	/* 5 */
 | |
|   "or",	/* 6 */
 | |
|   "xor",	/* 7 */
 | |
|   "shf",	/* 8 */
 | |
|   "add",	/* 9 */
 | |
|   "sub",	/* 10 */
 | |
|   "exit",	/* 11 */
 | |
|   "jmp",	/* 12 */
 | |
|   "jmpi",	/* 13 */
 | |
|   "jmpa",	/* 14 */
 | |
|   "jmps",	/* 15 */
 | |
|   "tac",	/* 16 */
 | |
|   "ldea",	/* 17 */
 | |
|   "ld",	/* 18 */
 | |
|   "tas",	/* 19 */
 | |
|   "pshea",	/* 20 */
 | |
|   "st",	/* 21 */
 | |
|   "call",	/* 22 */
 | |
|   "calls",	/* 23 */
 | |
|   "callq",	/* 24 */
 | |
|   "pfork",	/* 25 */
 | |
|   "ste",	/* 26 */
 | |
|   "incr",	/* 27 */
 | |
|   "cvtw",	/* 28 */
 | |
|   "cvtb",	/* 29 */
 | |
|   "cvth",	/* 30 */
 | |
|   "cvts",	/* 31 */
 | |
|   "cvtd",	/* 32 */
 | |
|   "cvtl",	/* 33 */
 | |
|   "ldpa",	/* 34 */
 | |
|   "plc",	/* 35 */
 | |
|   "tzc",	/* 36 */
 | |
|   "eq",	/* 37 */
 | |
|   "leu",	/* 38 */
 | |
|   "ltu",	/* 39 */
 | |
|   "le",	/* 40 */
 | |
|   "lt",	/* 41 */
 | |
|   "not",	/* 42 */
 | |
|   "neg",	/* 43 */
 | |
|   "lop",	/* 44 */
 | |
|   "cprs",	/* 45 */
 | |
|   "nop",	/* 46 */
 | |
|   "br",	/* 47 */
 | |
|   "bri",	/* 48 */
 | |
|   "bra",	/* 49 */
 | |
|   "brs",	/* 50 */
 | |
|   "ldvi",	/* 51 */
 | |
|   "stvi",	/* 52 */
 | |
|   "ldsdr",	/* 53 */
 | |
|   "ldkdr",	/* 54 */
 | |
|   "ln",	/* 55 */
 | |
|   "patu",	/* 56 */
 | |
|   "pate",	/* 57 */
 | |
|   "pich",	/* 58 */
 | |
|   "plch",	/* 59 */
 | |
|   "idle",	/* 60 */
 | |
|   "rtnq",	/* 61 */
 | |
|   "cfork",	/* 62 */
 | |
|   "rtn",	/* 63 */
 | |
|   "wfork",	/* 64 */
 | |
|   "join",	/* 65 */
 | |
|   "rtnc",	/* 66 */
 | |
|   "exp",	/* 67 */
 | |
|   "sin",	/* 68 */
 | |
|   "cos",	/* 69 */
 | |
|   "psh",	/* 70 */
 | |
|   "pop",	/* 71 */
 | |
|   "eni",	/* 72 */
 | |
|   "dsi",	/* 73 */
 | |
|   "bkpt",	/* 74 */
 | |
|   "msync",	/* 75 */
 | |
|   "mski",	/* 76 */
 | |
|   "xmti",	/* 77 */
 | |
|   "tstvv",	/* 78 */
 | |
|   "diag",	/* 79 */
 | |
|   "pbkpt",	/* 80 */
 | |
|   "sqrt",	/* 81 */
 | |
|   "casr",	/* 82 */
 | |
|   "atan",	/* 83 */
 | |
|   "sum",	/* 84 */
 | |
|   "all",	/* 85 */
 | |
|   "any",	/* 86 */
 | |
|   "parity",	/* 87 */
 | |
|   "max",	/* 88 */
 | |
|   "min",	/* 89 */
 | |
|   "prod",	/* 90 */
 | |
|   "halt",	/* 91 */
 | |
|   "sysc",	/* 92 */
 | |
|   "trap",	/* 93 */
 | |
|   "tst",	/* 94 */
 | |
|   "lck",	/* 95 */
 | |
|   "ulk",	/* 96 */
 | |
|   "spawn",	/* 97 */
 | |
|   "ldcmr",	/* 98 */
 | |
|   "stcmr",	/* 99 */
 | |
|   "popr",	/* 100 */
 | |
|   "pshr",	/* 101 */
 | |
|   "rcvr",	/* 102 */
 | |
|   "matm",	/* 103 */
 | |
|   "sndr",	/* 104 */
 | |
|   "putr",	/* 105 */
 | |
|   "getr",	/* 106 */
 | |
|   "matr",	/* 107 */
 | |
|   "mat",	/* 108 */
 | |
|   "get",	/* 109 */
 | |
|   "rcv",	/* 110 */
 | |
|   "inc",	/* 111 */
 | |
|   "put",	/* 112 */
 | |
|   "snd",	/* 113 */
 | |
|   "enal",	/* 114 */
 | |
|   "enag",	/* 115 */
 | |
|   "frint",	/* 116 */
 | |
|   "xpnd",	/* 117 */
 | |
|   "ctrsl",	/* 118 */
 | |
|   "ctrsg",	/* 119 */
 | |
|   "stop",	/* 120 */
 | |
| };
 | |
| 
 | |
| char *rop[] = {
 | |
|   "",	/* 0 */
 | |
|   ".t",	/* 1 */
 | |
|   ".f",	/* 2 */
 | |
|   ".s",	/* 3 */
 | |
|   ".d",	/* 4 */
 | |
|   ".b",	/* 5 */
 | |
|   ".h",	/* 6 */
 | |
|   ".w",	/* 7 */
 | |
|   ".l",	/* 8 */
 | |
|   ".x",	/* 9 */
 | |
|   ".u",	/* 10 */
 | |
|   ".s.f",	/* 11 */
 | |
|   ".d.f",	/* 12 */
 | |
|   ".b.f",	/* 13 */
 | |
|   ".h.f",	/* 14 */
 | |
|   ".w.f",	/* 15 */
 | |
|   ".l.f",	/* 16 */
 | |
|   ".t.f",	/* 17 */
 | |
|   ".s.t",	/* 18 */
 | |
|   ".d.t",	/* 19 */
 | |
|   ".b.t",	/* 20 */
 | |
|   ".h.t",	/* 21 */
 | |
|   ".w.t",	/* 22 */
 | |
|   ".l.t",	/* 23 */
 | |
|   ".t.t",	/* 24 */
 | |
| };
 |