Back to index

cell-binutils  2.17cvs20070401
np1.h
Go to the documentation of this file.
00001 /* Print GOULD NPL instructions for GDB, the GNU debugger.
00002    Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
00003 
00004 This file is part of GDB.
00005 
00006 GDB is free software; you can redistribute it and/or modify
00007 it under the terms of the GNU General Public License as published by
00008 the Free Software Foundation; either version 1, or (at your option)
00009 any later version.
00010 
00011 GDB is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 GNU General Public License for more details.
00015 
00016 You should have received a copy of the GNU General Public License
00017 along with GDB; see the file COPYING.  If not, write to
00018 the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
00019 
00020 struct gld_opcode
00021 {
00022   char *name;
00023   unsigned long opcode;
00024   unsigned long mask;
00025   char *args;
00026   int length;
00027 };
00028 
00029 /* We store four bytes of opcode for all opcodes because that
00030    is the most any of them need.  The actual length of an instruction
00031    is always at least 2 bytes, and at most four.  The length of the
00032    instruction is based on the opcode.
00033 
00034    The mask component is a mask saying which bits must match
00035    particular opcode in order for an instruction to be an instance
00036    of that opcode.
00037 
00038    The args component is a string containing characters
00039    that are used to format the arguments to the instruction. */
00040 
00041 /* Kinds of operands:
00042    r  Register in first field
00043    R  Register in second field
00044    b  Base register in first field
00045    B  Base register in second field
00046    v  Vector register in first field
00047    V  Vector register in first field
00048    A  Optional address register (base register)
00049    X  Optional index register
00050    I  Immediate data (16bits signed)
00051    O  Offset field (16bits signed)
00052    h  Offset field (15bits signed)
00053    d  Offset field (14bits signed)
00054    S  Shift count field
00055 
00056    any other characters are printed as is...
00057 */
00058 
00059 /* The assembler requires that this array be sorted as follows:
00060    all instances of the same mnemonic must be consecutive.
00061    All instances of the same mnemonic with the same number of operands
00062    must be consecutive.
00063  */
00064 struct gld_opcode gld_opcodes[] =
00065 {
00066 { "lb",              0xb4080000,   0xfc080000,   "r,xOA,X",    4 },
00067 { "lnb",      0xb8080000,   0xfc080000,   "r,xOA,X",    4 },
00068 { "lbs",      0xec080000,   0xfc080000,   "r,xOA,X",    4 },
00069 { "lh",              0xb4000001,   0xfc080001,   "r,xOA,X",    4 },
00070 { "lnh",      0xb8000001,   0xfc080001,   "r,xOA,X",    4 },
00071 { "lw",              0xb4000000,   0xfc080000,   "r,xOA,X",    4 },
00072 { "lnw",      0xb8000000,   0xfc080000,   "r,xOA,X",    4 },
00073 { "ld",              0xb4000002,   0xfc080002,   "r,xOA,X",    4 },
00074 { "lnd",      0xb8000002,   0xfc080002,   "r,xOA,X",    4 },
00075 { "li",              0xf8000000,   0xfc7f0000,   "r,I",        4 },
00076 { "lpa",      0x50080000,   0xfc080000,   "r,xOA,X",    4 },
00077 { "la",              0x50000000,   0xfc080000,   "r,xOA,X",    4 },
00078 { "labr",     0x58080000,   0xfc080000,   "b,xOA,X",    4 },
00079 { "lbp",      0x90080000,   0xfc080000,   "r,xOA,X",    4 },
00080 { "lhp",      0x90000001,   0xfc080001,   "r,xOA,X",    4 },
00081 { "lwp",      0x90000000,   0xfc080000,   "r,xOA,X",    4 },
00082 { "ldp",      0x90000002,   0xfc080002,   "r,xOA,X",    4 },
00083 { "suabr",    0x58000000,   0xfc080000,   "b,xOA,X",    4 },
00084 { "lf",              0xbc000000,   0xfc080000,   "r,xOA,X",    4 },
00085 { "lfbr",     0xbc080000,   0xfc080000,   "b,xOA,X",    4 },
00086 { "lwbr",     0x5c000000,   0xfc080000,   "b,xOA,X",    4 },
00087 { "stb",      0xd4080000,   0xfc080000,   "r,xOA,X",    4 },
00088 { "sth",      0xd4000001,   0xfc080001,   "r,xOA,X",    4 },
00089 { "stw",      0xd4000000,   0xfc080000,   "r,xOA,X",    4 },
00090 { "std",      0xd4000002,   0xfc080002,   "r,xOA,X",    4 },
00091 { "stf",      0xdc000000,   0xfc080000,   "r,xOA,X",    4 },
00092 { "stfbr",    0xdc080000,   0xfc080000,   "b,xOA,X",    4 },
00093 { "stwbr",    0x54000000,   0xfc080000,   "b,xOA,X",    4 },
00094 { "zmb",      0xd8080000,   0xfc080000,   "r,xOA,X",    4 },
00095 { "zmh",      0xd8000001,   0xfc080001,   "r,xOA,X",    4 },
00096 { "zmw",      0xd8000000,   0xfc080000,   "r,xOA,X",    4 },
00097 { "zmd",      0xd8000002,   0xfc080002,   "r,xOA,X",    4 },
00098 { "stbp",     0x94080000,   0xfc080000,   "r,xOA,X",    4 },
00099 { "sthp",     0x94000001,   0xfc080001,   "r,xOA,X",    4 },
00100 { "stwp",     0x94000000,   0xfc080000,   "r,xOA,X",    4 },
00101 { "stdp",     0x94000002,   0xfc080002,   "r,xOA,X",    4 },
00102 { "lil",      0xf80b0000,   0xfc7f0000,   "r,D",        4 },
00103 { "lwsl1",    0xec000000,   0xfc080000,   "r,xOA,X",    4 },
00104 { "lwsl2",    0xfc000000,   0xfc080000,   "r,xOA,X",    4 },
00105 { "lwsl3",    0xfc080000,   0xfc080000,   "r,xOA,X",    4 },
00106 
00107 { "lvb",      0xb0080000,   0xfc080000,   "v,xOA,X",    4 },
00108 { "lvh",      0xb0000001,   0xfc080001,   "v,xOA,X",    4 },
00109 { "lvw",      0xb0000000,   0xfc080000,   "v,xOA,X",    4 },
00110 { "lvd",      0xb0000002,   0xfc080002,   "v,xOA,X",    4 },
00111 { "liv",      0x3c040000,   0xfc0f0000,   "v,R",        2 },
00112 { "livf",     0x3c080000,   0xfc0f0000,   "v,R",        2 },
00113 { "stvb",     0xd0080000,   0xfc080000,   "v,xOA,X",    4 },
00114 { "stvh",     0xd0000001,   0xfc080001,   "v,xOA,X",    4 },
00115 { "stvw",     0xd0000000,   0xfc080000,   "v,xOA,X",    4 },
00116 { "stvd",     0xd0000002,   0xfc080002,   "v,xOA,X",    4 },
00117 
00118 { "trr",      0x2c000000,   0xfc0f0000,   "r,R",        2 },
00119 { "trn",      0x2c040000,   0xfc0f0000,   "r,R",        2 },
00120 { "trnd",     0x2c0c0000,   0xfc0f0000,   "r,R",        2 },
00121 { "trabs",    0x2c010000,   0xfc0f0000,   "r,R",        2 },
00122 { "trabsd",   0x2c090000,   0xfc0f0000,   "r,R",        2 },
00123 { "trc",      0x2c030000,   0xfc0f0000,   "r,R",        2 },
00124 { "xcr",      0x28040000,   0xfc0f0000,   "r,R",        2 },
00125 { "cxcr",     0x2c060000,   0xfc0f0000,   "r,R",        2 },
00126 { "cxcrd",    0x2c0e0000,   0xfc0f0000,   "r,R",        2 },
00127 { "tbrr",     0x2c020000,   0xfc0f0000,   "r,B",        2 },
00128 { "trbr",     0x28030000,   0xfc0f0000,   "b,R",        2 },
00129 { "xcbr",     0x28020000,   0xfc0f0000,   "b,B",        2 },
00130 { "tbrbr",    0x28010000,   0xfc0f0000,   "b,B",        2 },
00131 
00132 { "trvv",     0x28050000,   0xfc0f0000,   "v,V",        2 },
00133 { "trvvn",    0x2c050000,   0xfc0f0000,   "v,V",        2 },
00134 { "trvvnd",   0x2c0d0000,   0xfc0f0000,   "v,V",        2 },
00135 { "trvab",    0x2c070000,   0xfc0f0000,   "v,V",        2 },
00136 { "trvabd",   0x2c0f0000,   0xfc0f0000,   "v,V",        2 },
00137 { "cmpv",     0x14060000,   0xfc0f0000,   "v,V",        2 },
00138 { "expv",     0x14070000,   0xfc0f0000,   "v,V",        2 },
00139 { "mrvvlt",   0x10030000,   0xfc0f0000,   "v,V",        2 },
00140 { "mrvvle",   0x10040000,   0xfc0f0000,   "v,V",        2 },
00141 { "mrvvgt",   0x14030000,   0xfc0f0000,   "v,V",        2 },
00142 { "mrvvge",   0x14040000,   0xfc0f0000,   "v,V",        2 },
00143 { "mrvveq",   0x10050000,   0xfc0f0000,   "v,V",        2 },
00144 { "mrvvne",   0x10050000,   0xfc0f0000,   "v,V",        2 },
00145 { "mrvrlt",   0x100d0000,   0xfc0f0000,   "v,R",        2 },
00146 { "mrvrle",   0x100e0000,   0xfc0f0000,   "v,R",        2 },
00147 { "mrvrgt",   0x140d0000,   0xfc0f0000,   "v,R",        2 },
00148 { "mrvrge",   0x140e0000,   0xfc0f0000,   "v,R",        2 },
00149 { "mrvreq",   0x100f0000,   0xfc0f0000,   "v,R",        2 },
00150 { "mrvrne",   0x140f0000,   0xfc0f0000,   "v,R",        2 },
00151 { "trvr",     0x140b0000,   0xfc0f0000,   "r,V",        2 },
00152 { "trrv",     0x140c0000,   0xfc0f0000,   "v,R",        2 },
00153 
00154 { "bu",              0x40000000,   0xff880000,   "xOA,X",      4 },
00155 { "bns",      0x70080000,   0xff880000,   "xOA,X",      4 },
00156 { "bnco",     0x70880000,   0xff880000,   "xOA,X",      4 },
00157 { "bge",      0x71080000,   0xff880000,   "xOA,X",      4 },
00158 { "bne",      0x71880000,   0xff880000,   "xOA,X",      4 },
00159 { "bunge",    0x72080000,   0xff880000,   "xOA,X",      4 },
00160 { "bunle",    0x72880000,   0xff880000,   "xOA,X",      4 },
00161 { "bgt",      0x73080000,   0xff880000,   "xOA,X",      4 },
00162 { "bnany",    0x73880000,   0xff880000,   "xOA,X",      4 },
00163 { "bs" ,      0x70000000,   0xff880000,   "xOA,X",      4 },
00164 { "bco",      0x70800000,   0xff880000,   "xOA,X",      4 },
00165 { "blt",      0x71000000,   0xff880000,   "xOA,X",      4 },
00166 { "beq",      0x71800000,   0xff880000,   "xOA,X",      4 },
00167 { "buge",     0x72000000,   0xff880000,   "xOA,X",      4 },
00168 { "bult",     0x72800000,   0xff880000,   "xOA,X",      4 },
00169 { "ble",      0x73000000,   0xff880000,   "xOA,X",      4 },
00170 { "bany",     0x73800000,   0xff880000,   "xOA,X",      4 },
00171 { "brlnk",    0x44000000,   0xfc080000,   "r,xOA,X",    4 },
00172 { "bib",      0x48000000,   0xfc080000,   "r,xOA,X",    4 },
00173 { "bih",      0x48080000,   0xfc080000,   "r,xOA,X",    4 },
00174 { "biw",      0x4c000000,   0xfc080000,   "r,xOA,X",    4 },
00175 { "bid",      0x4c080000,   0xfc080000,   "r,xOA,X",    4 },
00176 { "bivb",     0x60000000,   0xfc080000,   "r,xOA,X",    4 },
00177 { "bivh",     0x60080000,   0xfc080000,   "r,xOA,X",    4 },
00178 { "bivw",     0x64000000,   0xfc080000,   "r,xOA,X",    4 },
00179 { "bivd",     0x64080000,   0xfc080000,   "r,xOA,X",    4 },
00180 { "bvsb",     0x68000000,   0xfc080000,   "r,xOA,X",    4 },
00181 { "bvsh",     0x68080000,   0xfc080000,   "r,xOA,X",    4 },
00182 { "bvsw",     0x6c000000,   0xfc080000,   "r,xOA,X",    4 },
00183 { "bvsd",     0x6c080000,   0xfc080000,   "r,xOA,X",    4 },
00184 
00185 { "camb",     0x80080000,   0xfc080000,   "r,xOA,X",    4 },
00186 { "camh",     0x80000001,   0xfc080001,   "r,xOA,X",    4 },
00187 { "camw",     0x80000000,   0xfc080000,   "r,xOA,X",    4 },
00188 { "camd",     0x80000002,   0xfc080002,   "r,xOA,X",    4 },
00189 { "car",      0x10000000,   0xfc0f0000,   "r,R",        2 },
00190 { "card",     0x14000000,   0xfc0f0000,   "r,R",        2 },
00191 { "ci",              0xf8050000,   0xfc7f0000,   "r,I",        4 },
00192 { "chkbnd",   0x5c080000,   0xfc080000,   "r,xOA,X",    4 },
00193 
00194 { "cavv",     0x10010000,   0xfc0f0000,   "v,V",        2 },
00195 { "cavr",     0x10020000,   0xfc0f0000,   "v,R",        2 },
00196 { "cavvd",    0x10090000,   0xfc0f0000,   "v,V",        2 },
00197 { "cavrd",    0x100b0000,   0xfc0f0000,   "v,R",        2 },
00198 
00199 { "anmb",     0x84080000,   0xfc080000,   "r,xOA,X",    4 },
00200 { "anmh",     0x84000001,   0xfc080001,   "r,xOA,X",    4 },
00201 { "anmw",     0x84000000,   0xfc080000,   "r,xOA,X",    4 },
00202 { "anmd",     0x84000002,   0xfc080002,   "r,xOA,X",    4 },
00203 { "anr",      0x04000000,   0xfc0f0000,   "r,R",        2 },
00204 { "ani",      0xf8080000,   0xfc7f0000,   "r,I",        4 },
00205 { "ormb",     0xb8080000,   0xfc080000,   "r,xOA,X",    4 },
00206 { "ormh",     0xb8000001,   0xfc080001,   "r,xOA,X",    4 },
00207 { "ormw",     0xb8000000,   0xfc080000,   "r,xOA,X",    4 },
00208 { "ormd",     0xb8000002,   0xfc080002,   "r,xOA,X",    4 },
00209 { "orr",      0x08000000,   0xfc0f0000,   "r,R",        2 },
00210 { "oi",              0xf8090000,   0xfc7f0000,   "r,I",        4 },
00211 { "eomb",     0x8c080000,   0xfc080000,   "r,xOA,X",    4 },
00212 { "eomh",     0x8c000001,   0xfc080001,   "r,xOA,X",    4 },
00213 { "eomw",     0x8c000000,   0xfc080000,   "r,xOA,X",    4 },
00214 { "eomd",     0x8c000002,   0xfc080002,   "r,xOA,X",    4 },
00215 { "eor",      0x0c000000,   0xfc0f0000,   "r,R",        2 },
00216 { "eoi",      0xf80a0000,   0xfc7f0000,   "r,I",        4 },
00217 
00218 { "anvv",     0x04010000,   0xfc0f0000,   "v,V",        2 },
00219 { "anvr",     0x04020000,   0xfc0f0000,   "v,R",        2 },
00220 { "orvv",     0x08010000,   0xfc0f0000,   "v,V",        2 },
00221 { "orvr",     0x08020000,   0xfc0f0000,   "v,R",        2 },
00222 { "eovv",     0x0c010000,   0xfc0f0000,   "v,V",        2 },
00223 { "eovr",     0x0c020000,   0xfc0f0000,   "v,R",        2 },
00224 
00225 { "sacz",     0x100c0000,   0xfc0f0000,   "r,R",        2 },
00226 { "sla",      0x1c400000,   0xfc600000,   "r,S",        2 },
00227 { "sll",      0x1c600000,   0xfc600000,   "r,S",        2 },
00228 { "slc",      0x24400000,   0xfc600000,   "r,S",        2 },
00229 { "slad",     0x20400000,   0xfc600000,   "r,S",        2 },
00230 { "slld",     0x20600000,   0xfc600000,   "r,S",        2 },
00231 { "sra",      0x1c000000,   0xfc600000,   "r,S",        2 },
00232 { "srl",      0x1c200000,   0xfc600000,   "r,S",        2 },
00233 { "src",      0x24000000,   0xfc600000,   "r,S",        2 },
00234 { "srad",     0x20000000,   0xfc600000,   "r,S",        2 },
00235 { "srld",     0x20200000,   0xfc600000,   "r,S",        2 },
00236 { "sda",      0x3c030000,   0xfc0f0000,   "r,R",        2 },
00237 { "sdl",      0x3c020000,   0xfc0f0000,   "r,R",        2 },
00238 { "sdc",      0x3c010000,   0xfc0f0000,   "r,R",        2 },
00239 { "sdad",     0x3c0b0000,   0xfc0f0000,   "r,R",        2 },
00240 { "sdld",     0x3c0a0000,   0xfc0f0000,   "r,R",        2 },
00241 
00242 { "svda",     0x3c070000,   0xfc0f0000,   "v,R",        2 },
00243 { "svdl",     0x3c060000,   0xfc0f0000,   "v,R",        2 },
00244 { "svdc",     0x3c050000,   0xfc0f0000,   "v,R",        2 },
00245 { "svdad",    0x3c0e0000,   0xfc0f0000,   "v,R",        2 },
00246 { "svdld",    0x3c0d0000,   0xfc0f0000,   "v,R",        2 },
00247 
00248 { "sbm",      0xac080000,   0xfc080000,   "f,xOA,X",    4 },
00249 { "zbm",      0xac000000,   0xfc080000,   "f,xOA,X",    4 },
00250 { "tbm",      0xa8080000,   0xfc080000,   "f,xOA,X",    4 },
00251 { "incmb",    0xa0000000,   0xfc080000,   "xOA,X",      4 },
00252 { "incmh",    0xa0080000,   0xfc080000,   "xOA,X",      4 },
00253 { "incmw",    0xa4000000,   0xfc080000,   "xOA,X",      4 },
00254 { "incmd",    0xa4080000,   0xfc080000,   "xOA,X",      4 },
00255 { "sbmd",     0x7c080000,   0xfc080000,   "r,xOA,X",    4 },
00256 { "zbmd",     0x7c000000,   0xfc080000,   "r,xOA,X",    4 },
00257 { "tbmd",     0x78080000,   0xfc080000,   "r,xOA,X",    4 },
00258 
00259 { "ssm",      0x9c080000,   0xfc080000,   "f,xOA,X",    4 },
00260 { "zsm",      0x9c000000,   0xfc080000,   "f,xOA,X",    4 },
00261 { "tsm",      0x98080000,   0xfc080000,   "f,xOA,X",    4 },
00262 
00263 { "admb",     0xc8080000,   0xfc080000,   "r,xOA,X",    4 },
00264 { "admh",     0xc8000001,   0xfc080001,   "r,xOA,X",    4 },
00265 { "admw",     0xc8000000,   0xfc080000,   "r,xOA,X",    4 },
00266 { "admd",     0xc8000002,   0xfc080002,   "r,xOA,X",    4 },
00267 { "adr",      0x38000000,   0xfc0f0000,   "r,R",        2 },
00268 { "armb",     0xe8080000,   0xfc080000,   "r,xOA,X",    4 },
00269 { "armh",     0xe8000001,   0xfc080001,   "r,xOA,X",    4 },
00270 { "armw",     0xe8000000,   0xfc080000,   "r,xOA,X",    4 },
00271 { "armd",     0xe8000002,   0xfc080002,   "r,xOA,X",    4 },
00272 { "adi",      0xf8010000,   0xfc0f0000,   "r,I",        4 },
00273 { "sumb",     0xcc080000,   0xfc080000,   "r,xOA,X",    4 },
00274 { "sumh",     0xcc000001,   0xfc080001,   "r,xOA,X",    4 },
00275 { "sumw",     0xcc000000,   0xfc080000,   "r,xOA,X",    4 },
00276 { "sumd",     0xcc000002,   0xfc080002,   "r,xOA,X",    4 },
00277 { "sur",      0x3c000000,   0xfc0f0000,   "r,R",        2 },
00278 { "sui",      0xf8020000,   0xfc0f0000,   "r,I",        4 },
00279 { "mpmb",     0xc0080000,   0xfc080000,   "r,xOA,X",    4 },
00280 { "mpmh",     0xc0000001,   0xfc080001,   "r,xOA,X",    4 },
00281 { "mpmw",     0xc0000000,   0xfc080000,   "r,xOA,X",    4 },
00282 { "mpr",      0x38020000,   0xfc0f0000,   "r,R",        2 },
00283 { "mprd",     0x3c0f0000,   0xfc0f0000,   "r,R",        2 },
00284 { "mpi",      0xf8030000,   0xfc0f0000,   "r,I",        4 },
00285 { "dvmb",     0xc4080000,   0xfc080000,   "r,xOA,X",    4 },
00286 { "dvmh",     0xc4000001,   0xfc080001,   "r,xOA,X",    4 },
00287 { "dvmw",     0xc4000000,   0xfc080000,   "r,xOA,X",    4 },
00288 { "dvr",      0x380a0000,   0xfc0f0000,   "r,R",        2 },
00289 { "dvi",      0xf8040000,   0xfc0f0000,   "r,I",        4 },
00290 { "exs",      0x38080000,   0xfc0f0000,   "r,R",        2 },
00291 
00292 { "advv",     0x30000000,   0xfc0f0000,   "v,V",        2 },
00293 { "advvd",    0x30080000,   0xfc0f0000,   "v,V",        2 },
00294 { "adrv",     0x34000000,   0xfc0f0000,   "v,R",        2 },
00295 { "adrvd",    0x34080000,   0xfc0f0000,   "v,R",        2 },
00296 { "suvv",     0x30010000,   0xfc0f0000,   "v,V",        2 },
00297 { "suvvd",    0x30090000,   0xfc0f0000,   "v,V",        2 },
00298 { "surv",     0x34010000,   0xfc0f0000,   "v,R",        2 },
00299 { "survd",    0x34090000,   0xfc0f0000,   "v,R",        2 },
00300 { "mpvv",     0x30020000,   0xfc0f0000,   "v,V",        2 },
00301 { "mprv",     0x34020000,   0xfc0f0000,   "v,R",        2 },
00302 
00303 { "adfw",     0xe0080000,   0xfc080000,   "r,xOA,X",    4 },
00304 { "adfd",     0xe0080002,   0xfc080002,   "r,xOA,X",    4 },
00305 { "adrfw",    0x38010000,   0xfc0f0000,   "r,R",        2 },
00306 { "adrfd",    0x38090000,   0xfc0f0000,   "r,R",        2 },
00307 { "surfw",    0xe0000000,   0xfc080000,   "r,xOA,X",    4 },
00308 { "surfd",    0xe0000002,   0xfc080002,   "r,xOA,X",    4 },
00309 { "surfw",    0x38030000,   0xfc0f0000,   "r,R",        2 },
00310 { "surfd",    0x380b0000,   0xfc0f0000,   "r,R",        2 },
00311 { "mpfw",     0xe4080000,   0xfc080000,   "r,xOA,X",    4 },
00312 { "mpfd",     0xe4080002,   0xfc080002,   "r,xOA,X",    4 },
00313 { "mprfw",    0x38060000,   0xfc0f0000,   "r,R",        2 },
00314 { "mprfd",    0x380e0000,   0xfc0f0000,   "r,R",        2 },
00315 { "rfw",      0xe4000000,   0xfc080000,   "r,xOA,X",    4 },
00316 { "rfd",      0xe4000002,   0xfc080002,   "r,xOA,X",    4 },
00317 { "rrfw",     0x0c0e0000,   0xfc0f0000,   "r",          2 },
00318 { "rrfd",     0x0c0f0000,   0xfc0f0000,   "r",          2 },
00319 
00320 { "advvfw",   0x30040000,   0xfc0f0000,   "v,V",        2 },
00321 { "advvfd",   0x300c0000,   0xfc0f0000,   "v,V",        2 },
00322 { "adrvfw",   0x34040000,   0xfc0f0000,   "v,R",        2 },
00323 { "adrvfd",   0x340c0000,   0xfc0f0000,   "v,R",        2 },
00324 { "suvvfw",   0x30050000,   0xfc0f0000,   "v,V",        2 },
00325 { "suvvfd",   0x300d0000,   0xfc0f0000,   "v,V",        2 },
00326 { "survfw",   0x34050000,   0xfc0f0000,   "v,R",        2 },
00327 { "survfd",   0x340d0000,   0xfc0f0000,   "v,R",        2 },
00328 { "mpvvfw",   0x30060000,   0xfc0f0000,   "v,V",        2 },
00329 { "mpvvfd",   0x300e0000,   0xfc0f0000,   "v,V",        2 },
00330 { "mprvfw",   0x34060000,   0xfc0f0000,   "v,R",        2 },
00331 { "mprvfd",   0x340e0000,   0xfc0f0000,   "v,R",        2 },
00332 { "rvfw",     0x30070000,   0xfc0f0000,   "v",          2 },
00333 { "rvfd",     0x300f0000,   0xfc0f0000,   "v",          2 },
00334 
00335 { "fltw",     0x38070000,   0xfc0f0000,   "r,R",        2 },
00336 { "fltd",     0x380f0000,   0xfc0f0000,   "r,R",        2 },
00337 { "fixw",     0x38050000,   0xfc0f0000,   "r,R",        2 },
00338 { "fixd",     0x380d0000,   0xfc0f0000,   "r,R",        2 },
00339 { "cfpds",    0x3c090000,   0xfc0f0000,   "r,R",        2 },
00340 
00341 { "fltvw",    0x080d0000,   0xfc0f0000,   "v,V",        2 },
00342 { "fltvd",    0x080f0000,   0xfc0f0000,   "v,V",        2 },
00343 { "fixvw",    0x080c0000,   0xfc0f0000,   "v,V",        2 },
00344 { "fixvd",    0x080e0000,   0xfc0f0000,   "v,V",        2 },
00345 { "cfpvds",   0x0c0d0000,   0xfc0f0000,   "v,V",        2 },
00346 
00347 { "orvrn",    0x000a0000,   0xfc0f0000,   "r,V",        2 },
00348 { "andvrn",   0x00080000,   0xfc0f0000,   "r,V",        2 },
00349 { "frsteq",   0x04090000,   0xfc0f0000,   "r,V",        2 },
00350 { "sigma",    0x0c080000,   0xfc0f0000,   "r,V",        2 },
00351 { "sigmad",   0x0c0a0000,   0xfc0f0000,   "r,V",        2 },
00352 { "sigmf",    0x08080000,   0xfc0f0000,   "r,V",        2 },
00353 { "sigmfd",   0x080a0000,   0xfc0f0000,   "r,V",        2 },
00354 { "prodf",    0x04080000,   0xfc0f0000,   "r,V",        2 },
00355 { "prodfd",   0x040a0000,   0xfc0f0000,   "r,V",        2 },
00356 { "maxv",     0x10080000,   0xfc0f0000,   "r,V",        2 },
00357 { "maxvd",    0x100a0000,   0xfc0f0000,   "r,V",        2 },
00358 { "minv",     0x14080000,   0xfc0f0000,   "r,V",        2 },
00359 { "minvd",    0x140a0000,   0xfc0f0000,   "r,V",        2 },
00360 
00361 { "lpsd",     0xf0000000,   0xfc080000,   "xOA,X",      4 },
00362 { "ldc",      0xf0080000,   0xfc080000,   "xOA,X",      4 },
00363 { "spm",      0x040c0000,   0xfc0f0000,   "r",          2 },
00364 { "rpm",      0x040d0000,   0xfc0f0000,   "r",          2 },
00365 { "tritr",    0x00070000,   0xfc0f0000,   "r",          2 },
00366 { "trrit",    0x00060000,   0xfc0f0000,   "r",          2 },
00367 { "rpswt",    0x04080000,   0xfc0f0000,   "r",          2 },
00368 { "exr",      0xf8070000,   0xfc0f0000,   "",           4 },
00369 { "halt",     0x00000000,   0xfc0f0000,   "",           2 },
00370 { "wait",     0x00010000,   0xfc0f0000,   "",           2 },
00371 { "nop",      0x00020000,   0xfc0f0000,   "",           2 },
00372 { "eiae",     0x00030000,   0xfc0f0000,   "",           2 },
00373 { "efae",     0x000d0000,   0xfc0f0000,   "",           2 },
00374 { "diae",     0x000e0000,   0xfc0f0000,   "",           2 },
00375 { "dfae",     0x000f0000,   0xfc0f0000,   "",           2 },
00376 { "spvc",     0xf8060000,   0xfc0f0000,   "r,T,N",      4 },
00377 { "rdsts",    0x00090000,   0xfc0f0000,   "r",          2 },
00378 { "setcpu",   0x000c0000,   0xfc0f0000,   "r",          2 },
00379 { "cmc",      0x000b0000,   0xfc0f0000,   "r",          2 },
00380 { "trrcu",    0x00040000,   0xfc0f0000,   "r",          2 },
00381 { "attnio",   0x00050000,   0xfc0f0000,   "",           2 },
00382 { "fudit",    0x28080000,   0xfc0f0000,   "",           2 },
00383 { "break",    0x28090000,   0xfc0f0000,   "",           2 },
00384 { "frzss",    0x280a0000,   0xfc0f0000,   "",           2 },
00385 { "ripi",     0x04040000,   0xfc0f0000,   "r,R",        2 },
00386 { "xcp",      0x04050000,   0xfc0f0000,   "r",          2 },
00387 { "block",    0x04060000,   0xfc0f0000,   "",           2 },
00388 { "unblock",  0x04070000,   0xfc0f0000,   "",           2 },
00389 { "trsc",     0x08060000,   0xfc0f0000,   "r,R",        2 },
00390 { "tscr",     0x08070000,   0xfc0f0000,   "r,R",        2 },
00391 { "fq",              0x04080000,   0xfc0f0000,   "r",          2 },
00392 { "flupte",   0x2c080000,   0xfc0f0000,   "r",          2 },
00393 { "rviu",     0x040f0000,   0xfc0f0000,   "",           2 },
00394 { "ldel",     0x280c0000,   0xfc0f0000,   "r,R",        2 },
00395 { "ldu",      0x280d0000,   0xfc0f0000,   "r,R",        2 },
00396 { "stdecc",   0x280b0000,   0xfc0f0000,   "r,R",        2 },
00397 { "trpc",     0x08040000,   0xfc0f0000,   "r",          2 },
00398 { "tpcr",     0x08050000,   0xfc0f0000,   "r",          2 },
00399 { "ghalt",    0x0c050000,   0xfc0f0000,   "r",          2 },
00400 { "grun",     0x0c040000,   0xfc0f0000,   "",           2 },
00401 { "tmpr",     0x2c0a0000,   0xfc0f0000,   "r,R",        2 },
00402 { "trmp",     0x2c0b0000,   0xfc0f0000,   "r,R",        2 },
00403 
00404 { "trrve",    0x28060000,   0xfc0f0000,   "r",          2 },
00405 { "trver",    0x28070000,   0xfc0f0000,   "r",          2 },
00406 { "trvlr",    0x280f0000,   0xfc0f0000,   "r",          2 },
00407 
00408 { "linkfl",   0x18000000,   0xfc0f0000,   "r,R",        2 },
00409 { "linkbl",   0x18020000,   0xfc0f0000,   "r,R",        2 },
00410 { "linkfp",   0x18010000,   0xfc0f0000,   "r,R",        2 },
00411 { "linkbp",   0x18030000,   0xfc0f0000,   "r,R",        2 },
00412 { "linkpl",   0x18040000,   0xfc0f0000,   "r,R",        2 },
00413 { "ulinkl",   0x18080000,   0xfc0f0000,   "r,R",        2 },
00414 { "ulinkp",   0x18090000,   0xfc0f0000,   "r,R",        2 },
00415 { "ulinktl",  0x180a0000,   0xfc0f0000,   "r,R",        2 },
00416 { "ulinktp",  0x180b0000,   0xfc0f0000,   "r,R",        2 },
00417 };
00418 
00419 int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]);
00420 
00421 struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) /
00422                             sizeof(gld_opcodes[0]);