/* Information for instruction disassembly on the Convex. Copyright (C) 1989-2014 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 3 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 */ };