Annotation of GNUtools/cctools/as/m88k-opcode.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * The 88110 implemention assumes signed immediate mode.
        !             3:  */
        !             4: 
        !             5: /* m88k-opcode.h -- Instruction information for the 88100
        !             6:    Copyright (C) 1989 Free Software Foundation, Inc.
        !             7: 
        !             8: This file is not yet part of GAS, the GNU Assembler.
        !             9: 
        !            10: GAS is free software; you can redistribute it and/or modify
        !            11: it under the terms of the GNU General Public License as published by
        !            12: the Free Software Foundation; either version 1, or (at your option)
        !            13: any later version.
        !            14: 
        !            15: GAS is distributed in the hope that it will be useful,
        !            16: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            17: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            18: GNU General Public License for more details.
        !            19: 
        !            20: You should have received a copy of the GNU General Public License
        !            21: along with GAS; see the file COPYING.  If not, write to
        !            22: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            23: 
        !            24: /* macros for shifting operand fields */
        !            25: 
        !            26: #define UEXT(src,off,wid)  ((((unsigned int)src)>>off) & ((1<<wid) - 1))
        !            27: #define SEXT(src,off,wid)  (((((int)src)<<(32-(off+wid))) >>(32-wid)) )
        !            28: 
        !            29: /* operand decriptor structure */
        !            30: 
        !            31: struct opspec {
        !            32:    unsigned int offset:5;
        !            33:    unsigned int width:6;
        !            34:    unsigned int type:5;
        !            35: };
        !            36: 
        !            37: /* operands types */
        !            38: 
        !            39: #define NIL         0    /* invalid parameter */
        !            40: #define CNST         1    /* 16-bit constant */
        !            41: #define REG          2    /* register */
        !            42: #define BF           4    /* bit field */
        !            43: #define REGSC        5    /* scaled register */
        !            44: #define CRREG        6    /* control register */
        !            45: #define FCRREG       7    /* floating point control register */
        !            46: #define PCREL       8    /* PC relative (branch offset) */
        !            47: #define CONDMASK     9    /* bcnd mask */
        !            48: #define CMPRSLT     10   /* result of cmp instruction (bb0/1, tb0/1) */
        !            49: #define ROT         11   /* 5 bit value for rotation (rot instruction only)*/
        !            50: #ifdef m88110
        !            51: #define E4ROT       12   /* even multiple of 4 value for pixel rotation */
        !            52: #define EREG        13    /* even register from general register */
        !            53: #define XREG        14    /* register from extended register file */
        !            54: #endif m88110
        !            55: 
        !            56: /* instruction descriptor structure */
        !            57: 
        !            58: struct m88k_opcode {
        !            59:    unsigned int   opcode;
        !            60:    char           *name;
        !            61:    struct opspec  op[3];
        !            62: #ifdef NeXT
        !            63:    long                  delay_slot;
        !            64: #endif
        !            65: };
        !            66: 
        !            67: /* and introducing... the Motorola 88100 instruction set... */
        !            68:    
        !            69: static const struct m88k_opcode m88k_opcodes[] =   {
        !            70:  
        !            71: /*  Opcode     Mnemonic         Op 1 Spec        Op 2 Spec     Op 3 Spec */
        !            72:                             
        !            73:  { 0x70000000, "add",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !            74:  { 0xf4007000, "add",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            75:  { 0xf4007200, "add.ci",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            76:  { 0xf4007300, "add.cio",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            77:  { 0xf4007100, "add.co",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            78:  { 0x60000000, "addu",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !            79:  { 0xf4006000, "addu",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            80:  { 0xf4006200, "addu.ci",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            81:  { 0xf4006300, "addu.cio",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            82:  { 0xf4006100, "addu.co",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            83:  { 0x40000000, "and",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !            84:  { 0xf4004000, "and",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            85:  { 0xf4004400, "and.c",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            86:  { 0x44000000, "and.u",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !            87:  { 0xd0000000, "bb0",         { {21,5,CMPRSLT},  {16,5,REG},   {0,16,PCREL}} },
        !            88:  { 0xd4000000, "bb0.n",       { {21,5,CMPRSLT},  {16,5,REG},   {0,16,PCREL}},1},
        !            89:  { 0xd8000000, "bb1",         { {21,5,CMPRSLT},  {16,5,REG},   {0,16,PCREL}} },
        !            90:  { 0xdc000000, "bb1.n",       { {21,5,CMPRSLT},  {16,5,REG},   {0,16,PCREL}},1},
        !            91:  { 0xe8000000, "bcnd",        { {21,5,CONDMASK}, {16,5,REG},   {0,16,PCREL}} },
        !            92:  { 0xec000000, "bcnd.n",      { {21,5,CONDMASK}, {16,5,REG},   {0,16,PCREL}},1},
        !            93:  { 0xc0000000, "br",          { {0,26,PCREL},    {0,0,NIL},    {0,0,NIL}   } },
        !            94:  { 0xc4000000, "br.n",        { {0,26,PCREL},    {0,0,NIL},    {0,0,NIL}   },1},
        !            95:  { 0xc8000000, "bsr",         { {0,26,PCREL},    {0,0,NIL},    {0,0,NIL}   } },
        !            96:  { 0xcc000000, "bsr.n",       { {0,26,PCREL},    {0,0,NIL},    {0,0,NIL}   },1},
        !            97:  { 0XF0008000, "clr",         { {21,5,REG},      {16,5,REG},   {0,10,BF}   } },
        !            98:  { 0XF4008000, "clr",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !            99:  { 0x7c000000, "cmp",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           100:  { 0xf4007c00, "cmp",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           101:  { 0x78000000, "div",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           102:  { 0xf4007800, "div",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           103: #ifdef m88110
        !           104:  { 0x78000000, "divs",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           105:  { 0xf4007800, "divs",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           106: #endif m88110
        !           107:  { 0x68000000, "divu",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           108:  { 0xf4006800, "divu",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           109: #ifdef m88110
        !           110:  { 0xf4006900, "divu.d",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           111: #endif m88110
        !           112:  { 0XF0009000, "ext",         { {21,5,REG},      {16,5,REG},   {0,10,BF}   } },
        !           113:  { 0XF4009000, "ext",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           114:  { 0XF0009800, "extu",        { {21,5,REG},      {16,5,REG},   {0,10,BF}   } },
        !           115:  { 0XF4009800, "extu",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           116:  { 0X84002AA0, "fadd.ddd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           117: #ifdef m88110
        !           118:  { 0X8400AAA0, "fadd.ddd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           119: #endif m88110
        !           120:  { 0X84002A20, "fadd.dds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           121: #ifdef m88110
        !           122:  { 0X8400AA20, "fadd.dds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           123:  { 0X8400AB20, "fadd.ddx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           124: #endif m88110
        !           125:  { 0X840028A0, "fadd.dsd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           126: #ifdef m88110
        !           127:  { 0X8400A8A0, "fadd.dsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           128: #endif m88110
        !           129:  { 0X84002820, "fadd.dss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           130: #ifdef m88110
        !           131:  { 0X8400A820, "fadd.dss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           132:  { 0X8400A920, "fadd.dsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           133:  { 0X8400ACA0, "fadd.dxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           134:  { 0X8400AC20, "fadd.dxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           135:  { 0X8400AD20, "fadd.dxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           136: #endif m88110
        !           137:  { 0X84002A80, "fadd.sdd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           138: #ifdef m88110
        !           139:  { 0X8400AA80, "fadd.sdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           140: #endif m88110
        !           141:  { 0X84002A00, "fadd.sds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           142: #ifdef m88110
        !           143:  { 0X8400AA00, "fadd.sds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           144:  { 0X8400AB00, "fadd.sdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           145: #endif m88110
        !           146:  { 0X84002880, "fadd.ssd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           147: #ifdef m88110
        !           148:  { 0X8400A880, "fadd.ssd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           149: #endif m88110
        !           150:  { 0X84002800, "fadd.sss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           151: #ifdef m88110
        !           152:  { 0X8400A800, "fadd.sss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           153:  { 0X8400A900, "fadd.ssx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           154:  { 0X8400AC80, "fadd.sxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           155:  { 0X8400AC00, "fadd.sxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           156:  { 0X8400AD00, "fadd.sxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           157:  { 0X8400AAC0, "fadd.xdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           158:  { 0X8400AA40, "fadd.xds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           159:  { 0X8400AB40, "fadd.xdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           160:  { 0X8400A8C0, "fadd.xsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           161:  { 0X8400A840, "fadd.xss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           162:  { 0X8400A940, "fadd.xsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           163:  { 0X8400ACC0, "fadd.xxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           164:  { 0X8400AC40, "fadd.xxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           165:  { 0X8400AD40, "fadd.xxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           166: #endif m88110
        !           167:  { 0x84003a80, "fcmp.sdd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           168: #ifdef m88110
        !           169:  { 0X8400BA80, "fcmp.sdd",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           170: #endif m88110
        !           171:  { 0x84003a00, "fcmp.sds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           172: #ifdef m88110
        !           173:  { 0X8400BA00, "fcmp.sds",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           174:  { 0X8400BB00, "fcmp.sdx",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           175: #endif m88110
        !           176:  { 0x84003880, "fcmp.ssd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           177: #ifdef m88110
        !           178:  { 0X8400B880, "fcmp.ssd",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           179: #endif m88110
        !           180:  { 0x84003800, "fcmp.sss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           181: #ifdef m88110
        !           182:  { 0X8400B800, "fcmp.sss",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           183:  { 0X8400B900, "fcmp.ssx",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           184:  { 0X8400BC80, "fcmp.sxd",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           185:  { 0X8400BC00, "fcmp.sxs",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           186:  { 0X8400BD00, "fcmp.sxx",    { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           187:  { 0X84003AA0, "fcmpu.sdd",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           188:  { 0X8400BAA0, "fcmpu.sdd",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           189:  { 0X84003A20, "fcmpu.sds",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           190:  { 0X8400BA20, "fcmpu.sds",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           191:  { 0X8400BB20, "fcmpu.sdx",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           192:  { 0X840038A0, "fcmpu.ssd",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           193:  { 0X8400B8A0, "fcmpu.ssd",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           194:  { 0X84003820, "fcmpu.sss",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           195:  { 0X8400B820, "fcmpu.sss",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           196:  { 0X8400B920, "fcmpu.ssx",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           197:  { 0X8400BCA0, "fcmpu.sxd",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           198:  { 0X8400BC20, "fcmpu.sxs",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           199:  { 0X8400BD20, "fcmpu.sxx",   { {21,5,REG},      {16,5,XREG},  {0,5,XREG}  } },
        !           200:  { 0X84000820, "fcvt.ds",     { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           201:  { 0X84008820, "fcvt.ds",     { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           202:  { 0X84008920, "fcvt.dx",     { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           203:  { 0X84000880, "fcvt.sd",     { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           204:  { 0X84008880, "fcvt.sd",     { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           205:  { 0X84008900, "fcvt.sx",     { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           206:  { 0X840088C0, "fcvt.xd",     { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           207:  { 0X84008840, "fcvt.xs",     { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           208: #endif m88110
        !           209:  { 0x840072a0, "fdiv.ddd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           210: #ifdef m88110
        !           211:  { 0x8400f2a0, "fdiv.ddd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           212: #endif m88110
        !           213:  { 0x84007220, "fdiv.dds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           214: #ifdef m88110
        !           215:  { 0x8400f220, "fdiv.dds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           216:  { 0x8400f320, "fdiv.ddx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           217: #endif m88110
        !           218:  { 0x840070a0, "fdiv.dsd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           219: #ifdef m88110
        !           220:  { 0x8400f0a0, "fdiv.dsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           221: #endif m88110
        !           222:  { 0x84007020, "fdiv.dss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           223: #ifdef m88110
        !           224:  { 0x8400f020, "fdiv.dss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           225:  { 0x8400f120, "fdiv.dsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           226:  { 0x8400f4a0, "fdiv.dxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           227:  { 0x8400f420, "fdiv.dxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           228:  { 0x8400f520, "fdiv.dxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           229: #endif m88110
        !           230:  { 0x84007280, "fdiv.sdd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           231: #ifdef m88110
        !           232:  { 0x8400f280, "fdiv.sdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           233: #endif m88110
        !           234:  { 0x84007200, "fdiv.sds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           235: #ifdef m88110
        !           236:  { 0x8400f200, "fdiv.sds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           237:  { 0x8400f300, "fdiv.sdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           238: #endif m88110
        !           239:  { 0x84007080, "fdiv.ssd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           240: #ifdef m88110
        !           241:  { 0x8400f080, "fdiv.ssd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           242: #endif m88110
        !           243:  { 0X84007000, "fdiv.sss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           244: #ifdef m88110
        !           245:  { 0x8400f000, "fdiv.sss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           246:  { 0x8400f100, "fdiv.ssx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           247:  { 0x8400f480, "fdiv.sxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           248:  { 0x8400f400, "fdiv.sxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           249:  { 0x8400f500, "fdiv.sxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           250:  { 0x8400f2c0, "fdiv.xdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           251:  { 0x8400f240, "fdiv.xds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           252:  { 0x8400f340, "fdiv.xdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           253:  { 0x8400f0c0, "fdiv.xsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           254:  { 0x8400f040, "fdiv.xss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           255:  { 0x8400f140, "fdiv.xsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           256:  { 0x8400f4c0, "fdiv.xxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           257:  { 0x8400f440, "fdiv.xxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           258:  { 0x8400f540, "fdiv.xxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           259: #endif m88110
        !           260:  { 0XF400EC00, "ff0",         { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           261:  { 0XF400E800, "ff1",         { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           262:  { 0x80004800, "fldcr",       { {21,5,REG},      {5,6,FCRREG}, {0,0,NIL}   } },
        !           263:  { 0X84002020, "flt.ds",      { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           264: #ifdef m88110
        !           265:  { 0X84002220, "flt.ds",      { {21,5,XREG},     {0,5,REG},    {0,0,NIL}   } },
        !           266: #endif m88110
        !           267:  { 0X84002000, "flt.ss",      { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           268: #ifdef m88110
        !           269:  { 0X84002200, "flt.ss",      { {21,5,XREG},     {0,5,REG},    {0,0,NIL}   } },
        !           270:  { 0X84002240, "flt.xs",      { {21,5,XREG},     {0,5,REG},    {0,0,NIL}   } },
        !           271: #endif m88110
        !           272:  { 0X840002A0, "fmul.ddd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           273: #ifdef m88110
        !           274:  { 0X840082A0, "fmul.ddd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           275: #endif m88110
        !           276:  { 0X84000220, "fmul.dds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           277: #ifdef m88110
        !           278:  { 0X84008220, "fmul.dds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           279:  { 0X84008320, "fmul.ddx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           280: #endif m88110
        !           281:  { 0X840000A0, "fmul.dsd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           282: #ifdef m88110
        !           283:  { 0X840080A0, "fmul.dsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           284: #endif m88110
        !           285:  { 0X84000020, "fmul.dss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           286: #ifdef m88110
        !           287:  { 0X84008020, "fmul.dss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           288:  { 0X84008120, "fmul.dsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           289:  { 0X840084A0, "fmul.dxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           290:  { 0X84008420, "fmul.dxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           291:  { 0X84008520, "fmul.dxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           292: #endif m88110
        !           293:  { 0X84000280, "fmul.sdd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           294: #ifdef m88110
        !           295:  { 0X84008280, "fmul.sdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           296: #endif m88110
        !           297:  { 0X84000200, "fmul.sds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           298: #ifdef m88110
        !           299:  { 0X84008200, "fmul.sds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           300:  { 0X84008300, "fmul.sdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           301: #endif m88110
        !           302:  { 0X84000080, "fmul.ssd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           303: #ifdef m88110
        !           304:  { 0X84008080, "fmul.ssd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           305: #endif m88110
        !           306:  { 0X84000000, "fmul.sss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           307: #ifdef m88110
        !           308:  { 0X84008000, "fmul.sss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           309:  { 0X84008100, "fmul.ssx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           310:  { 0X84008480, "fmul.sxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           311:  { 0X84008400, "fmul.sxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           312:  { 0X84008500, "fmul.sxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           313:  { 0X840082C0, "fmul.xdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           314:  { 0X84008240, "fmul.xds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           315:  { 0X84008340, "fmul.xdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           316:  { 0X840080C0, "fmul.xsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           317:  { 0X84008040, "fmul.xss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           318:  { 0X84008140, "fmul.xsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           319:  { 0X840084C0, "fmul.xxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           320:  { 0X84008440, "fmul.xxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           321:  { 0X84008540, "fmul.xxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           322:  { 0X840078A0, "fsqrt.dd",    { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           323:  { 0X8400F8A0, "fsqrt.dd",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           324:  { 0X84007820, "fsqrt.ds",    { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           325:  { 0X8400F820, "fsqrt.ds",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           326:  { 0X8400F920, "fsqrt.dx",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           327:  { 0X84007880, "fsqrt.sd",    { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           328:  { 0X8400F880, "fsqrt.sd",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           329:  { 0X84007800, "fsqrt.ss",    { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           330:  { 0X8400F800, "fsqrt.ss",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           331:  { 0X8400F900, "fsqrt.sx",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           332:  { 0X8400F8C0, "fsqrt.xd",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           333:  { 0X8400F840, "fsqrt.xs",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           334:  { 0X8400F940, "fsqrt.xx",    { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           335: #endif m88110
        !           336:  { 0x80008800, "fstcr",       { {16,5,REG},      {5,6,FCRREG}, {0,0,NIL}   } },
        !           337:  { 0X840032A0, "fsub.ddd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           338: #ifdef m88110
        !           339:  { 0X8400B2A0, "fsub.ddd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           340: #endif m88110
        !           341:  { 0X84003220, "fsub.dds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           342: #ifdef m88110
        !           343:  { 0X8400B220, "fsub.dds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           344:  { 0X8400B320, "fsub.ddx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           345: #endif m88110
        !           346:  { 0X840030A0, "fsub.dsd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           347: #ifdef m88110
        !           348:  { 0X8400B0A0, "fsub.dsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           349: #endif m88110
        !           350:  { 0X84003020, "fsub.dss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           351: #ifdef m88110
        !           352:  { 0X8400B020, "fsub.dss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           353:  { 0X8400B120, "fsub.dsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           354:  { 0X8400B4A0, "fsub.dxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           355:  { 0X8400B420, "fsub.dxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           356:  { 0X8400B520, "fsub.dxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           357: #endif m88110
        !           358:  { 0X84003280, "fsub.sdd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           359: #ifdef m88110
        !           360:  { 0X8400B280, "fsub.sdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           361: #endif m88110
        !           362:  { 0X84003200, "fsub.sds",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           363: #ifdef m88110
        !           364:  { 0X8400B200, "fsub.sds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           365:  { 0X8400B300, "fsub.sdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           366: #endif m88110
        !           367:  { 0X84003080, "fsub.ssd",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           368: #ifdef m88110
        !           369:  { 0X8400B080, "fsub.ssd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           370: #endif m88110
        !           371:  { 0X84003000, "fsub.sss",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           372: #ifdef m88110
        !           373:  { 0X8400B000, "fsub.sss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           374:  { 0X8400B100, "fsub.ssx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           375:  { 0X8400B480, "fsub.sxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           376:  { 0X8400B400, "fsub.sxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           377:  { 0X8400B500, "fsub.sxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           378:  { 0X8400B2C0, "fsub.xdd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           379:  { 0X8400B240, "fsub.xds",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           380:  { 0X8400B340, "fsub.xdx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           381:  { 0X8400B0C0, "fsub.xsd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           382:  { 0X8400B040, "fsub.xss",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           383:  { 0X8400B140, "fsub.xsx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           384:  { 0X8400B4C0, "fsub.xxd",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           385:  { 0X8400B440, "fsub.xxs",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           386:  { 0X8400B540, "fsub.xxx",    { {21,5,XREG},     {16,5,XREG},  {0,5,XREG}  } },
        !           387: #endif m88110
        !           388:  { 0x8000c800, "fxcr",        { {21,5,REG},      {16,5,REG},   {5,6,FCRREG}} },
        !           389:  { 0xf400fc01, "illop1",      { {0,0,NIL},       {0,0,NIL},    {0,0,NIL}   } },
        !           390:  { 0xf400fc02, "illop2",      { {0,0,NIL},       {0,0,NIL},    {0,0,NIL}   } },
        !           391:  { 0xf400fc03, "illop3",      { {0,0,NIL},       {0,0,NIL},    {0,0,NIL}   } },
        !           392:  { 0x84004880, "int.sd",      { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           393: #ifdef m88110
        !           394:  { 0x8400c880, "int.sd",      { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           395: #endif m88110
        !           396:  { 0x84004800, "int.ss",      { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           397: #ifdef m88110
        !           398:  { 0x8400c800, "int.ss",      { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           399:  { 0x8400c900, "int.sx",      { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           400: #endif m88110
        !           401:  { 0xf400c000, "jmp",         { {0,5,REG},       {0,0,NIL},    {0,0,NIL}   } },
        !           402:  { 0xf400c400, "jmp.n",       { {0,5,REG},       {0,0,NIL},    {0,0,NIL}   },1},
        !           403:  { 0xf400c800, "jsr",         { {0,5,REG},       {0,0,NIL},    {0,0,NIL}   } },
        !           404:  { 0xf400cc00, "jsr.n",       { {0,5,REG},       {0,0,NIL},    {0,0,NIL}   },1},
        !           405:  { 0x14000000, "ld",          { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           406:  { 0xf4001600, "ld",          { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           407:  { 0xf4001400, "ld",          { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           408: #ifdef m88110
        !           409:  { 0x04000000, "ld",          { {21,5,XREG},     {16,5,REG},   {0,16,CNST} } },
        !           410:  { 0xf0001600, "ld",          { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           411:  { 0xf0001400, "ld",          { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           412: #endif m88110
        !           413:  { 0x1c000000, "ld.b",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           414:  { 0xf4001e00, "ld.b",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           415:  { 0xf4001c00, "ld.b",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           416:  { 0xf4001f00, "ld.b.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           417:  { 0xf4001d00, "ld.b.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           418:  { 0x0c000000, "ld.bu",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           419:  { 0xf4000e00, "ld.bu",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           420:  { 0xf4000c00, "ld.bu",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           421:  { 0xf4000f00, "ld.bu.usr",   { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           422:  { 0xf4000d00, "ld.bu.usr",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           423:  { 0x10000000, "ld.d",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           424:  { 0xf4001200, "ld.d",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           425:  { 0xf4001000, "ld.d",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           426: #ifdef m88110
        !           427:  { 0x00000000, "ld.d",        { {21,5,XREG},     {16,5,REG},   {0,16,CNST} } },
        !           428:  { 0xf0001200, "ld.d",        { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           429:  { 0xf0001000, "ld.d",        { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           430: #endif m88110
        !           431:  { 0xf4001300, "ld.d.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           432: #ifdef m88110
        !           433:  { 0xf0001300, "ld.d.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           434: #endif m88110
        !           435:  { 0xf4001100, "ld.d.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           436: #ifdef m88110
        !           437:  { 0xf0001100, "ld.d.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           438: #endif m88110
        !           439:  { 0x18000000, "ld.h",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           440:  { 0xf4001a00, "ld.h",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           441:  { 0xf4001800, "ld.h",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           442:  { 0xf4001b00, "ld.h.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           443:  { 0xf4001900, "ld.h.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           444:  { 0x08000000, "ld.hu",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           445:  { 0xf4000a00, "ld.hu",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           446:  { 0xf4000800, "ld.hu",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           447:  { 0xf4000b00, "ld.hu.usr",   { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           448:  { 0xf4000900, "ld.hu.usr",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           449:  { 0xf4001700, "ld.usr",      { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           450: #ifdef m88110
        !           451:  { 0xf0001700, "ld.usr",      { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           452: #endif m88110
        !           453:  { 0xf4001500, "ld.usr",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           454: #ifdef m88110
        !           455:  { 0xf0001500, "ld.usr",      { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           456:  { 0x3c000000, "ld.x",        { {21,5,XREG},     {16,5,REG},   {0,16,CNST} } },
        !           457:  { 0xf0001a00, "ld.x",        { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           458:  { 0xf0001800, "ld.x",        { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           459:  { 0xf0001b00, "ld.x.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           460:  { 0xf0001900, "ld.x.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           461: #endif m88110
        !           462: #ifndef m88110
        !           463:  { 0x34000000, "lda",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           464: #endif !defined(m88110)
        !           465:  { 0xf4003600, "lda",         { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           466: #ifndef m88110
        !           467:  { 0xf4003400, "lda",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           468:  { 0x3c000000, "lda.b",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           469:  { 0xf4003e00, "lda.b",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           470:  { 0xf4003c00, "lda.b",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           471:  { 0x30000000, "lda.d",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           472: #endif !defined(m88110)
        !           473:  { 0xf4003200, "lda.d",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           474: #ifndef m88110
        !           475:  { 0xf4003000, "lda.d",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           476:  { 0x38000000, "lda.h",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           477: #endif !defined(m88110)
        !           478:  { 0xf4003a00, "lda.h",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           479: #ifndef m88110
        !           480:  { 0xf4003800, "lda.h",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           481: #endif !defined(m88110)
        !           482: #ifdef m88110
        !           483:  { 0xf4003e00, "lda.x",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           484: #endif m88110
        !           485:  { 0x80004000, "ldcr",        { {21,5,REG},      {5,6,CRREG},  {0,0,NIL}   } },
        !           486:  { 0XF000A000, "mak",         { {21,5,REG},      {16,5,REG},   {0,10,BF}   } },
        !           487:  { 0XF400A000, "mak",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           488:  { 0X48000000, "mask",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           489:  { 0X4C000000, "mask.u",      { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           490: #ifdef m88110
        !           491:  { 0X8400C080, "mov.d",       { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           492:  { 0X84004280, "mov.d",       { {21,5,XREG},     {0,5,REG},    {0,0,NIL}   } },
        !           493:  { 0X8400C000, "mov.s",       { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           494:  { 0X84004200, "mov.s",       { {21,5,XREG},     {0,5,REG},    {0,0,NIL}   } },
        !           495:  { 0X8400C300, "mov",         { {21,5,XREG},     {0,5,XREG},   {0,0,NIL}   } },
        !           496: #endif m88110
        !           497:  { 0x6c000000, "mul",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           498:  { 0xf4006c00, "mul",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           499: #ifdef m88110
        !           500:  { 0xf4006e00, "muls",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           501:  { 0x6c000000, "mulu",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           502:  { 0xf4006c00, "mulu",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           503:  { 0xf4006d00, "mulu.d",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           504: #endif m88110
        !           505:  { 0x84005080, "nint.sd",     { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           506: #ifdef m88110
        !           507:  { 0x8400d080, "nint.sd",     { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           508: #endif m88110
        !           509:  { 0x84005000, "nint.ss",     { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           510: #ifdef m88110
        !           511:  { 0x8400d000, "nint.ss",     { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           512:  { 0x8400d100, "nint.sx",     { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           513: #endif m88110
        !           514:  { 0X58000000, "or",          { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           515:  { 0xf4005800, "or",          { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           516:  { 0xf4005c00, "or.c",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           517:  { 0X5C000000, "or.u",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           518: #ifdef m88110
        !           519:  { 0x88002060, "padd",        { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           520:  { 0x88002020, "padd.b",      { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           521:  { 0x88002040, "padd.h",      { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           522:  { 0x880021e0, "padds.s",     { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           523:  { 0x880021a0, "padds.s.b",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           524:  { 0x880021c0, "padds.s.h",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           525:  { 0x880020e0, "padds.u",     { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           526:  { 0x880020a0, "padds.u.b",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           527:  { 0x880020c0, "padds.u.h",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           528:  { 0x88002160, "padds.us",    { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           529:  { 0x88002120, "padds.us.b",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           530:  { 0x88002140, "padds.us.h",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           531:  { 0x88003860, "pcmp",        { {21,5,REG},      {16,5,EREG},  {0,5,EREG}  } },
        !           532:  { 0x88000000, "pmul",        { {21,5,EREG},     {16,5,EREG},  {0,5,REG}   } },
        !           533:  { 0x88006260, "ppack.16",    { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           534:  { 0x88006240, "ppack.16.h",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           535:  { 0x88006460, "ppack.32",    { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           536:  { 0x88006420, "ppack.32.b",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           537:  { 0x88006440, "ppack.32.h",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           538:  { 0x88006160, "ppack.8",     { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           539:  { 0x88007800, "prot",        { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           540:  { 0x88007000, "prot",        { {21,5,EREG},     {16,5,EREG},  {7,4,E4ROT} } },
        !           541:  { 0x88003060, "psub",        { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           542:  { 0x88003020, "psub.b",      { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           543:  { 0x88003040, "psub.h",      { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           544:  { 0x880031e0, "psubs.s",     { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           545:  { 0x880031a0, "psubs.s.b",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           546:  { 0x880031c0, "psubs.s.h",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           547:  { 0x880030e0, "psubs.u",     { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           548:  { 0x880030a0, "psubs.u.b",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           549:  { 0x880030c0, "psubs.u.h",   { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           550:  { 0x88003160, "psubs.us",    { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           551:  { 0x88003120, "psubs.us.b",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           552:  { 0x88003140, "psubs.us.h",  { {21,5,EREG},     {16,5,EREG},  {0,5,EREG}  } },
        !           553:  { 0x88006820, "punpk.b",     { {21,5,EREG},     {16,5,REG},   {0,0,NIL}   } },
        !           554:  { 0x88006840, "punpk.h",     { {21,5,EREG},     {16,5,REG},   {0,0,NIL}   } },
        !           555:  { 0x88006800, "punpk.n",     { {21,5,EREG},     {16,5,REG},   {0,0,NIL}   } },
        !           556: #endif m88110
        !           557:  { 0XF000A800, "rot",         { {21,5,REG},      {16,5,REG},   {0,5,ROT}   } },
        !           558:  { 0XF400A800, "rot",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           559:  { 0xf400fc00, "rte",         { {0,0,NIL},       {0,0,NIL},    {0,0,NIL}   } },
        !           560:  { 0XF0008800, "set",         { {21,5,REG},      {16,5,REG},   {0,10,BF}   } },
        !           561:  { 0XF4008800, "set",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           562:  { 0x24000000, "st",          { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           563:  { 0xf4002600, "st",          { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           564:  { 0xf4002400, "st",          { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           565: #ifdef m88110
        !           566:  { 0x34000000, "st",          { {21,5,XREG},     {16,5,REG},   {0,16,CNST} } },
        !           567:  { 0xf0002600, "st",          { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           568:  { 0xf0002400, "st",          { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           569:  { 0xf4002680, "st.wt",       { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           570:  { 0xf4002480, "st.wt",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           571:  { 0xf0002680, "st.wt",       { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           572:  { 0xf0002480, "st.wt",       { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           573: #endif m88110
        !           574:  { 0x2c000000, "st.b",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           575:  { 0xf4002e00, "st.b",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           576:  { 0xf4002c00, "st.b",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           577: #ifdef m88110
        !           578:  { 0xf4002e80, "st.b.wt",     { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           579:  { 0xf4002c80, "st.b.wt",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           580: #endif m88110
        !           581:  { 0xf4002f00, "st.b.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           582:  { 0xf4002d00, "st.b.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           583: #ifdef m88110
        !           584:  { 0xf4002f80, "st.b.usr.wt", { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           585:  { 0xf4002d80, "st.b.usr.wt", { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           586: #endif m88110
        !           587:  { 0x20000000, "st.d",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           588:  { 0xf4002200, "st.d",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           589:  { 0xf4002000, "st.d",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           590: #ifdef m88110
        !           591:  { 0x30000000, "st.d",        { {21,5,XREG},     {16,5,REG},   {0,16,CNST} } },
        !           592:  { 0xf0002200, "st.d",        { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           593:  { 0xf0002000, "st.d",        { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           594:  { 0xf4002280, "st.d.wt",     { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           595:  { 0xf4002080, "st.d.wt",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           596:  { 0xf0002280, "st.d.wt",     { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           597:  { 0xf0002080, "st.d.wt",     { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           598: #endif m88110
        !           599:  { 0xf4002300, "st.d.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           600:  { 0xf4002100, "st.d.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           601: #ifdef m88110
        !           602:  { 0xf0002300, "st.d.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           603:  { 0xf0002100, "st.d.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           604:  { 0xf4002380, "st.d.usr.wt", { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           605:  { 0xf0002180, "st.d.usr.wt", { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           606:  { 0xf0002380, "st.d.usr.wt", { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           607:  { 0xf4002180, "st.d.usr.wt", { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           608: #endif m88110
        !           609:  { 0x28000000, "st.h",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           610:  { 0xf4002a00, "st.h",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           611:  { 0xf4002800, "st.h",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           612: #ifdef m88110
        !           613:  { 0xf4002a80, "st.h.wt",     { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           614:  { 0xf4002880, "st.h.wt",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           615: #endif m88110
        !           616:  { 0xf4002b00, "st.h.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           617:  { 0xf4002900, "st.h.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           618: #ifdef m88110
        !           619:  { 0xf4002b80, "st.h.usr.wt", { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           620:  { 0xf4002980, "st.h.usr.wt", { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           621: #endif m88110
        !           622:  { 0xf4002700, "st.usr",      { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           623:  { 0xf4002500, "st.usr",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           624: #ifdef m88110
        !           625:  { 0xf0002700, "st.usr",      { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           626:  { 0xf0002500, "st.usr",      { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           627:  { 0xf4002780, "st.usr.wt",   { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           628:  { 0xf4002580, "st.usr.wt",   { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           629:  { 0xf0002780, "st.usr.wt",   { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           630:  { 0xf0002580, "st.usr.wt",   { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           631:  { 0x38000000, "st.x",        { {21,5,XREG},     {16,5,REG},   {0,16,CNST} } },
        !           632:  { 0xf0002a00, "st.x",        { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           633:  { 0xf0002800, "st.x",        { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           634:  { 0xf0002a80, "st.x.wt",     { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           635:  { 0xf0002880, "st.x.wt",     { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           636:  { 0xf0002b00, "st.x.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           637:  { 0xf0002900, "st.x.usr",    { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           638:  { 0xf0002b80, "st.x.usr.wt", { {21,5,XREG},     {16,5,REG},   {0,5,REGSC} } },
        !           639:  { 0xf0002980, "st.x.usr.wt", { {21,5,XREG},     {16,5,REG},   {0,5,REG}   } },
        !           640: #endif m88110
        !           641:  { 0x80008000, "stcr",        { {16,5,REG},      {5,6,CRREG},  {0,0,NIL}   } },
        !           642:  { 0x74000000, "sub",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           643:  { 0xf4007400, "sub",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           644:  { 0xf4007600, "sub.ci",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           645:  { 0xf4007700, "sub.cio",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           646:  { 0xf4007500, "sub.co",      { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           647:  { 0x64000000, "subu",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           648:  { 0xf4006400, "subu",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           649:  { 0xf4006600, "subu.ci",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           650:  { 0xf4006700, "subu.cio",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           651:  { 0xf4006500, "subu.co",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           652:  { 0xf000d000, "tb0",         { {21,5,CMPRSLT},  {16,5,REG},   {0,9,CNST}  } },
        !           653:  { 0xf000d800, "tb1",         { {21,5,CMPRSLT},  {16,5,REG},   {0,9,CNST}  } },
        !           654:  { 0xf8000000, "tbnd",        { {16,5,REG},      {0,16,CNST},  {0,0,NIL}   } },
        !           655:  { 0xf400f800, "tbnd",        { {16,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           656:  { 0xf000e800, "tcnd",        { {21,5,CONDMASK}, {16,5,REG},   {0,9,CNST}  } },
        !           657:  { 0x84005880, "trnc.sd",     { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           658: #ifdef m88110
        !           659:  { 0x8400d880, "trnc.sd",     { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           660: #endif m88110
        !           661:  { 0x84005800, "trnc.ss",     { {21,5,REG},      {0,5,REG},    {0,0,NIL}   } },
        !           662: #ifdef m88110
        !           663:  { 0x8400d800, "trnc.ss",     { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           664:  { 0x8400d900, "trnc.sx",     { {21,5,REG},      {0,5,XREG},   {0,0,NIL}   } },
        !           665: #endif m88110
        !           666:  { 0x8000c000, "xcr",         { {21,5,REG},      {16,5,REG},   {5,6,CRREG} } },
        !           667: #ifndef m88110
        !           668:  { 0x04000000, "xmem",        { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           669: #endif !defined(m88110)
        !           670:  { 0xf4000600, "xmem",        { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           671:  { 0xf4000400, "xmem",        { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           672: #ifndef m88110
        !           673:  { 0x00000000, "xmem.bu",     { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           674: #endif !defined(m88110)
        !           675:  { 0xf4000200, "xmem.bu",     { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           676:  { 0xf4000000, "xmem.bu",     { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           677:  { 0xf4000300, "xmem.bu.usr", { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           678:  { 0xf4000100, "xmem.bu.usr", { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           679:  { 0xf4000700, "xmem.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REGSC} } },
        !           680:  { 0xf4000500, "xmem.usr",    { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           681:  { 0X50000000, "xor",         { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           682:  { 0XF4005000, "xor",         { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           683:  { 0XF4005400, "xor.c",       { {21,5,REG},      {16,5,REG},   {0,5,REG}   } },
        !           684:  { 0X54000000, "xor.u",       { {21,5,REG},      {16,5,REG},   {0,16,CNST} } },
        !           685:  { 0x00000000, "",            { {0,0,NIL},       {0,0,NIL},    {0,0,NIL}   } },
        !           686: };
        !           687: 
        !           688: #define NUMOPCODES ((sizeof m88k_opcodes)/(sizeof m88k_opcodes[0]))

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.