Home | History | Annotate | Line # | Download | only in opcode
      1       1.1     skrll /* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger.
      2  1.1.1.10  christos    Copyright (C) 1986-2026 Free Software Foundation, Inc.
      3       1.1     skrll 
      4   1.1.1.2  christos    This file is part of GDB.
      5       1.1     skrll 
      6   1.1.1.2  christos    GDB is free software; you can redistribute it and/or modify
      7   1.1.1.2  christos    it under the terms of the GNU General Public License as published by
      8   1.1.1.2  christos    the Free Software Foundation; either version 3, or (at your option)
      9   1.1.1.2  christos    any later version.
     10   1.1.1.2  christos 
     11   1.1.1.2  christos    GDB is distributed in the hope that it will be useful,
     12   1.1.1.2  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13   1.1.1.2  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14   1.1.1.2  christos    GNU General Public License for more details.
     15   1.1.1.2  christos 
     16   1.1.1.2  christos    You should have received a copy of the GNU General Public License
     17   1.1.1.2  christos    along with GDB; see the file COPYING3.  If not, write to
     18   1.1.1.2  christos    the Free Software Foundation, 51 Franklin Street - Fifth Floor,
     19   1.1.1.2  christos    Boston, MA 02110-1301, USA.  */
     20       1.1     skrll 
     21       1.1     skrll struct gld_opcode
     22       1.1     skrll {
     23       1.1     skrll   char *name;
     24       1.1     skrll   unsigned long opcode;
     25       1.1     skrll   unsigned long mask;
     26       1.1     skrll   char *args;
     27       1.1     skrll   int length;
     28       1.1     skrll };
     29       1.1     skrll 
     30       1.1     skrll /* We store four bytes of opcode for all opcodes because that
     31       1.1     skrll    is the most any of them need.  The actual length of an instruction
     32       1.1     skrll    is always at least 2 bytes, and at most four.  The length of the
     33       1.1     skrll    instruction is based on the opcode.
     34       1.1     skrll 
     35       1.1     skrll    The mask component is a mask saying which bits must match
     36       1.1     skrll    particular opcode in order for an instruction to be an instance
     37       1.1     skrll    of that opcode.
     38       1.1     skrll 
     39       1.1     skrll    The args component is a string containing characters
     40       1.1     skrll    that are used to format the arguments to the instruction. */
     41       1.1     skrll 
     42       1.1     skrll /* Kinds of operands:
     43       1.1     skrll    r  Register in first field
     44       1.1     skrll    R  Register in second field
     45       1.1     skrll    b  Base register in first field
     46       1.1     skrll    B  Base register in second field
     47       1.1     skrll    v  Vector register in first field
     48       1.1     skrll    V  Vector register in first field
     49       1.1     skrll    A  Optional address register (base register)
     50       1.1     skrll    X  Optional index register
     51       1.1     skrll    I  Immediate data (16bits signed)
     52       1.1     skrll    O  Offset field (16bits signed)
     53       1.1     skrll    h  Offset field (15bits signed)
     54       1.1     skrll    d  Offset field (14bits signed)
     55       1.1     skrll    S  Shift count field
     56       1.1     skrll 
     57       1.1     skrll    any other characters are printed as is...
     58       1.1     skrll */
     59       1.1     skrll 
     60       1.1     skrll /* The assembler requires that this array be sorted as follows:
     61       1.1     skrll    all instances of the same mnemonic must be consecutive.
     62       1.1     skrll    All instances of the same mnemonic with the same number of operands
     63       1.1     skrll    must be consecutive.
     64       1.1     skrll  */
     65       1.1     skrll struct gld_opcode gld_opcodes[] =
     66       1.1     skrll {
     67       1.1     skrll { "abm",	0xa0080000,	0xfc080000,	"f,xOA,X",	4 },
     68       1.1     skrll { "abr",	0x18080000,	0xfc0c0000,	"r,f",		2 },
     69       1.1     skrll { "aci",	0xfc770000,	0xfc7f8000,	"r,I",		4 },
     70       1.1     skrll { "adfd",	0xe0080002,	0xfc080002,	"r,xOA,X",	4 },
     71       1.1     skrll { "adfw",	0xe0080000,	0xfc080000,	"r,xOA,X",	4 },
     72       1.1     skrll { "adi",	0xc8010000,	0xfc7f0000,	"r,I",		4 },
     73       1.1     skrll { "admb",	0xb8080000,	0xfc080000,	"r,xOA,X",	4 },
     74       1.1     skrll { "admd",	0xb8000002,	0xfc080002,	"r,xOA,X",	4 },
     75       1.1     skrll { "admh",	0xb8000001,	0xfc080001,	"r,xOA,X",	4 },
     76       1.1     skrll { "admw",	0xb8000000,	0xfc080000,	"r,xOA,X",	4 },
     77       1.1     skrll { "adr",	0x38000000,	0xfc0f0000,	"r,R",		2 },
     78       1.1     skrll { "adrfd",	0x38090000,	0xfc0f0000,	"r,R",		2 },
     79       1.1     skrll { "adrfw",	0x38010000,	0xfc0f0000,	"r,R",		2 },
     80       1.1     skrll { "adrm",	0x38080000,	0xfc0f0000,	"r,R",		2 },
     81       1.1     skrll { "ai", 	0xfc030000,	0xfc07ffff,	"I",		4 },
     82       1.1     skrll { "anmb",	0x84080000,	0xfc080000,	"r,xOA,X",	4 },
     83       1.1     skrll { "anmd",	0x84000002,	0xfc080002,	"r,xOA,X",	4 },
     84       1.1     skrll { "anmh",	0x84000001,	0xfc080001,	"r,xOA,X",	4 },
     85       1.1     skrll { "anmw",	0x84000000,	0xfc080000,	"r,xOA,X",	4 },
     86       1.1     skrll { "anr",	0x04000000,	0xfc0f0000,	"r,R",		2 },
     87       1.1     skrll { "armb",	0xe8080000,	0xfc080000,	"r,xOA,X",	4 },
     88       1.1     skrll { "armd",	0xe8000002,	0xfc080002,	"r,xOA,X",	4 },
     89       1.1     skrll { "armh",	0xe8000001,	0xfc080001,	"r,xOA,X",	4 },
     90       1.1     skrll { "armw",	0xe8000000,	0xfc080000,	"r,xOA,X",	4 },
     91       1.1     skrll { "bcf",	0xf0000000,	0xfc080000,	"I,xOA,X",	4 },
     92       1.1     skrll { "bct",	0xec000000,	0xfc080000,	"I,xOA,X",	4 },
     93       1.1     skrll { "bei",	0x00060000,	0xffff0000,	"",		2 },
     94       1.1     skrll { "bft",	0xf0000000,	0xff880000,	"xOA,X",	4 },
     95       1.1     skrll { "bib",	0xf4000000,	0xfc780000,	"r,xOA",	4 },
     96       1.1     skrll { "bid",	0xf4600000,	0xfc780000,	"r,xOA",	4 },
     97       1.1     skrll { "bih",	0xf4200000,	0xfc780000,	"r,xOA",	4 },
     98       1.1     skrll { "biw",	0xf4400000,	0xfc780000,	"r,xOA",	4 },
     99       1.1     skrll { "bl", 	0xf8800000,	0xff880000,	"xOA,X",	4 },
    100       1.1     skrll { "bsub",	0x5c080000,	0xff8f0000,	"",		2 },
    101       1.1     skrll { "bsubm",	0x28080000,	0xfc080000,	"",		4 },
    102       1.1     skrll { "bu", 	0xec000000,	0xff880000,	"xOA,X",	4 },
    103       1.1     skrll { "call",	0x28080000,	0xfc0f0000,	"",		2 },
    104       1.1     skrll { "callm",	0x5c080000,	0xff880000,	"",		4 },
    105       1.1     skrll { "camb",	0x90080000,	0xfc080000,	"r,xOA,X",	4 },
    106       1.1     skrll { "camd",	0x90000002,	0xfc080002,	"r,xOA,X",	4 },
    107       1.1     skrll { "camh",	0x90000001,	0xfc080001,	"r,xOA,X",	4 },
    108       1.1     skrll { "camw",	0x90000000,	0xfc080000,	"r.xOA,X",	4 },
    109       1.1     skrll { "car",	0x10000000,	0xfc0f0000,	"r,R",		2 },
    110       1.1     skrll { "cd", 	0xfc060000,	0xfc070000,	"r,f",		4 },
    111       1.1     skrll { "cea",	0x000f0000,	0xffff0000,	"",		2 },
    112       1.1     skrll { "ci", 	0xc8050000,	0xfc7f0000,	"r,I",		4 },
    113       1.1     skrll { "cmc",	0x040a0000,	0xfc7f0000,	"r",		2 },
    114       1.1     skrll { "cmmb",	0x94080000,	0xfc080000,	"r,xOA,X",	4 },
    115       1.1     skrll { "cmmd",	0x94000002,	0xfc080002,	"r,xOA,X",	4 },
    116       1.1     skrll { "cmmh",	0x94000001,	0xfc080001,	"r,xOA,X",	4 },
    117       1.1     skrll { "cmmw",	0x94000000,	0xfc080000,	"r,xOA,X",	4 },
    118       1.1     skrll { "cmr",	0x14000000,	0xfc0f0000,	"r,R",		2 },
    119       1.1     skrll { "daci",	0xfc7f0000,	0xfc7f8000,	"r,I",		4 },
    120       1.1     skrll { "dae",	0x000e0000,	0xffff0000,	"",		2 },
    121       1.1     skrll { "dai",	0xfc040000,	0xfc07ffff,	"I",		4 },
    122       1.1     skrll { "dci",	0xfc6f0000,	0xfc7f8000,	"r,I",		4 },
    123       1.1     skrll { "di", 	0xfc010000,	0xfc07ffff,	"I",		4 },
    124       1.1     skrll { "dvfd",	0xe4000002,	0xfc080002,	"r,xOA,X",	4 },
    125       1.1     skrll { "dvfw",	0xe4000000,	0xfc080000,	"r,xOA,X",	4 },
    126       1.1     skrll { "dvi",	0xc8040000,	0xfc7f0000,	"r,I",		4 },
    127       1.1     skrll { "dvmb",	0xc4080000,	0xfc080000,	"r,xOA,X",	4 },
    128       1.1     skrll { "dvmh",	0xc4000001,	0xfc080001,	"r,xOA,X",	4 },
    129       1.1     skrll { "dvmw",	0xc4000000,	0xfc080000,	"r,xOA,X",	4 },
    130       1.1     skrll { "dvr",	0x380a0000,	0xfc0f0000,	"r,R",		2 },
    131       1.1     skrll { "dvrfd",	0x380c0000,	0xfc0f0000,	"r,R",		4 },
    132       1.1     skrll { "dvrfw",	0x38040000,	0xfc0f0000,	"r,xOA,X",	4 },
    133       1.1     skrll { "eae",	0x00080000,	0xffff0000,	"",		2 },
    134       1.1     skrll { "eci",	0xfc670000,	0xfc7f8080,	"r,I",		4 },
    135       1.1     skrll { "ecwcs",	0xfc4f0000,	0xfc7f8000,	"",		4 },
    136       1.1     skrll { "ei", 	0xfc000000,	0xfc07ffff,	"I",		4 },
    137       1.1     skrll { "eomb",	0x8c080000,	0xfc080000,	"r,xOA,X",	4 },
    138       1.1     skrll { "eomd",	0x8c000002,	0xfc080002,	"r,xOA,X",	4 },
    139       1.1     skrll { "eomh",	0x8c000001,	0xfc080001,	"r,xOA,X",	4 },
    140       1.1     skrll { "eomw",	0x8c000000,	0xfc080000,	"r,xOA,X",	4 },
    141       1.1     skrll { "eor",	0x0c000000,	0xfc0f0000,	"r,R",		2 },
    142       1.1     skrll { "eorm",	0x0c080000,	0xfc0f0000,	"r,R",		2 },
    143       1.1     skrll { "es", 	0x00040000,	0xfc7f0000,	"r",		2 },
    144       1.1     skrll { "exm",	0xa8000000,	0xff880000,	"xOA,X",	4 },
    145       1.1     skrll { "exr",	0xc8070000,	0xfc7f0000,	"r",		2 },
    146       1.1     skrll { "exrr",	0xc8070002,	0xfc7f0002,	"r",		2 },
    147       1.1     skrll { "fixd",	0x380d0000,	0xfc0f0000,	"r,R",		2 },
    148       1.1     skrll { "fixw",	0x38050000,	0xfc0f0000,	"r,R",		2 },
    149       1.1     skrll { "fltd",	0x380f0000,	0xfc0f0000,	"r,R",		2 },
    150       1.1     skrll { "fltw",	0x38070000,	0xfc0f0000,	"r,R",		2 },
    151       1.1     skrll { "grio",	0xfc3f0000,	0xfc7f8000,	"r,I",		4 },
    152       1.1     skrll { "halt",	0x00000000,	0xffff0000,	"",		2 },
    153       1.1     skrll { "hio",	0xfc370000,	0xfc7f8000,	"r,I",		4 },
    154       1.1     skrll { "jwcs",	0xfa080000,	0xff880000,	"xOA,X",	4 },
    155       1.1     skrll { "la", 	0x50000000,	0xfc000000,	"r,xOA,X",	4 },
    156       1.1     skrll { "labr",	0x58080000,	0xfc080000,	"b,xOA,X",	4 },
    157       1.1     skrll { "lb", 	0xac080000,	0xfc080000,	"r,xOA,X",	4 },
    158       1.1     skrll { "lcs", 	0x00030000,	0xfc7f0000,	"r",		2 },
    159       1.1     skrll { "ld", 	0xac000002,	0xfc080002,	"r,xOA,X",	4 },
    160       1.1     skrll { "lear", 	0x80000000,	0xfc080000,	"r,xOA,X",	4 },
    161       1.1     skrll { "lf", 	0xcc000000,	0xfc080000,	"r,xOA,X",	4 },
    162       1.1     skrll { "lfbr", 	0xcc080000,	0xfc080000,	"b,xOA,X",	4 },
    163       1.1     skrll { "lh", 	0xac000001,	0xfc080001,	"r,xOA,X",	4 },
    164       1.1     skrll { "li", 	0xc8000000,	0xfc7f0000,	"r,I",		4 },
    165       1.1     skrll { "lmap",	0x2c070000,	0xfc7f0000,	"r",		2 },
    166       1.1     skrll { "lmb",	0xb0080000,	0xfc080000,	"r,xOA,X",	4 },
    167       1.1     skrll { "lmd",	0xb0000002,	0xfc080002,	"r,xOA,X",	4 },
    168       1.1     skrll { "lmh",	0xb0000001,	0xfc080001,	"r,xOA,X",	4 },
    169       1.1     skrll { "lmw",	0xb0000000,	0xfc080000,	"r,xOA,X",	4 },
    170       1.1     skrll { "lnb",	0xb4080000,	0xfc080000,	"r,xOA,X",	4 },
    171       1.1     skrll { "lnd",	0xb4000002,	0xfc080002,	"r,xOA,X",	4 },
    172       1.1     skrll { "lnh",	0xb4000001,	0xfc080001,	"r,xOA,X",	4 },
    173       1.1     skrll { "lnw",	0xb4000000,	0xfc080000,	"r,xOA,X",	4 },
    174       1.1     skrll { "lpsd",	0xf9800000,	0xff880000,	"r,xOA,X",	4 },
    175       1.1     skrll { "lpsdcm",	0xfa800000,	0xff880000,	"r,xOA,X",	4 },
    176       1.1     skrll { "lw", 	0xac000000,	0xfc080000,	"r,xOA,X",	4 },
    177       1.1     skrll { "lwbr", 	0x5c000000,	0xfc080000,	"b,xOA,X",	4 },
    178       1.1     skrll { "mpfd",	0xe4080002,	0xfc080002,	"r,xOA,X",	4 },
    179       1.1     skrll { "mpfw",	0xe4080000,	0xfc080000,	"r,xOA,X",	4 },
    180       1.1     skrll { "mpi",	0xc8030000,	0xfc7f0000,	"r,I",		4 },
    181       1.1     skrll { "mpmb",	0xc0080000,	0xfc080000,	"r,xOA,X",	4 },
    182       1.1     skrll { "mpmh",	0xc0000001,	0xfc080001,	"r,xOA,X",	4 },
    183       1.1     skrll { "mpmw",	0xc0000000,	0xfc080000,	"r,xOA,X",	4 },
    184       1.1     skrll { "mpr",	0x38020000,	0xfc0f0000,	"r,R",		2 },
    185       1.1     skrll { "mprfd",	0x380e0000,	0xfc0f0000,	"r,R",		2 },
    186       1.1     skrll { "mprfw",	0x38060000,	0xfc0f0000,	"r,R",		2 },
    187       1.1     skrll { "nop",	0x00020000,	0xffff0000,	"",		2 },
    188       1.1     skrll { "ormb",	0x88080000,	0xfc080000,	"r,xOA,X",	4 },
    189       1.1     skrll { "ormd",	0x88000002,	0xfc080002,	"r,xOA,X",	4 },
    190       1.1     skrll { "ormh",	0x88000001,	0xfc080001,	"r,xOA,X",	4 },
    191       1.1     skrll { "ormw",	0x88000000,	0xfc080000,	"r,xOA,X",	4 },
    192       1.1     skrll { "orr",	0x08000000,	0xfc0f0000,	"r,R",		2 },
    193       1.1     skrll { "orrm",	0x08080000,	0xfc0f0000,	"r,R",		2 },
    194       1.1     skrll { "rdsts",	0x00090000,	0xfc7f0000,	"r",		2 },
    195       1.1     skrll { "return",	0x280e0000,	0xfc7f0000,	"",		2 },
    196       1.1     skrll { "ri", 	0xfc020000,	0xfc07ffff,	"I",		4 },
    197       1.1     skrll { "rnd",	0x00050000,	0xfc7f0000,	"r",		2 },
    198       1.1     skrll { "rpswt",	0x040b0000,	0xfc7f0000,	"r",		2 },
    199       1.1     skrll { "rschnl",	0xfc2f0000,	0xfc7f8000,	"r,I",		4 },
    200       1.1     skrll { "rsctl",	0xfc470000,	0xfc7f8000,	"r,I",		4 },
    201       1.1     skrll { "rwcs",	0x000b0000,	0xfc0f0000,	"r,R",		2 },
    202       1.1     skrll { "sacz",	0x10080000,	0xfc0f0000,	"r,R",		2 },
    203       1.1     skrll { "sbm",	0x98080000,	0xfc080000,	"f,xOA,X",	4 },
    204       1.1     skrll { "sbr",	0x18000000,	0xfc0c0000,	"r,f",		4 },
    205       1.1     skrll { "sea",	0x000d0000,	0xffff0000,	"",		2 },
    206       1.1     skrll { "setcpu",	0x2c090000,	0xfc7f0000,	"r",		2 },
    207       1.1     skrll { "sio",	0xfc170000,	0xfc7f8000,	"r,I",		4 },
    208       1.1     skrll { "sipu",	0x000a0000,	0xffff0000,	"",		2 },
    209       1.1     skrll { "sla",	0x1c400000,	0xfc600000,	"r,S",		2 },
    210       1.1     skrll { "slad",	0x20400000,	0xfc600000,	"r,S",		2 },
    211       1.1     skrll { "slc",	0x24400000,	0xfc600000,	"r,S",		2 },
    212       1.1     skrll { "sll",	0x1c600000,	0xfc600000,	"r,S",		2 },
    213       1.1     skrll { "slld",	0x20600000,	0xfc600000,	"r,S",		2 },
    214       1.1     skrll { "smc",	0x04070000,	0xfc070000,	"",		2 },
    215       1.1     skrll { "sra",	0x1c000000,	0xfc600000,	"r,S",		2 },
    216       1.1     skrll { "srad",	0x20000000,	0xfc600000,	"r,S",		2 },
    217       1.1     skrll { "src",	0x24000000,	0xfc600000,	"r,S",		2 },
    218       1.1     skrll { "srl",	0x1c200000,	0xfc600000,	"r,S",		2 },
    219       1.1     skrll { "srld",	0x20200000,	0xfc600000,	"r,S",		2 },
    220       1.1     skrll { "stb",	0xd4080000,	0xfc080000,	"r,xOA,X",	4 },
    221       1.1     skrll { "std",	0xd4000002,	0xfc080002,	"r,xOA,X",	4 },
    222       1.1     skrll { "stf",	0xdc000000,	0xfc080000,	"r,xOA,X",	4 },
    223       1.1     skrll { "stfbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
    224       1.1     skrll { "sth",	0xd4000001,	0xfc080001,	"r,xOA,X",	4 },
    225       1.1     skrll { "stmb",	0xd8080000,	0xfc080000,	"r,xOA,X",	4 },
    226       1.1     skrll { "stmd",	0xd8000002,	0xfc080002,	"r,xOA,X",	4 },
    227       1.1     skrll { "stmh",	0xd8000001,	0xfc080001,	"r,xOA,X",	4 },
    228       1.1     skrll { "stmw",	0xd8000000,	0xfc080000,	"r,xOA,X",	4 },
    229       1.1     skrll { "stpio",	0xfc270000,	0xfc7f8000,	"r,I",		4 },
    230       1.1     skrll { "stw",	0xd4000000,	0xfc080000,	"r,xOA,X",	4 },
    231       1.1     skrll { "stwbr",	0x54000000,	0xfc080000,	"b,xOA,X",	4 },
    232       1.1     skrll { "suabr",	0x58000000,	0xfc080000,	"b,xOA,X",	4 },
    233       1.1     skrll { "sufd",	0xe0000002,	0xfc080002,	"r,xOA,X",	4 },
    234       1.1     skrll { "sufw",	0xe0000000,	0xfc080000,	"r,xOA,X",	4 },
    235       1.1     skrll { "sui",	0xc8020000,	0xfc7f0000,	"r,I",		4 },
    236       1.1     skrll { "sumb",	0xbc080000,	0xfc080000,	"r,xOA,X",	4 },
    237       1.1     skrll { "sumd",	0xbc000002,	0xfc080002,	"r,xOA,X",	4 },
    238       1.1     skrll { "sumh",	0xbc000001,	0xfc080001,	"r,xOA,X",	4 },
    239       1.1     skrll { "sumw",	0xbc000000,	0xfc080000,	"r,xOA,X",	4 },
    240       1.1     skrll { "sur",	0x3c000000,	0xfc0f0000,	"r,R",		2 },
    241       1.1     skrll { "surfd",	0x380b0000,	0xfc0f0000,	"r,xOA,X",	4 },
    242       1.1     skrll { "surfw",	0x38030000,	0xfc0f0000,	"r,R",		2 },
    243       1.1     skrll { "surm",	0x3c080000,	0xfc0f0000,	"r,R",		2 },
    244       1.1     skrll { "svc",	0xc8060000,	0xffff0000,	"",		4 },
    245       1.1     skrll { "tbm",	0xa4080000,	0xfc080000,	"f,xOA,X",	4 },
    246       1.1     skrll { "tbr",	0x180c0000,	0xfc0c0000,	"r,f",		2 },
    247       1.1     skrll { "tbrr",	0x2c020000,	0xfc0f0000,	"r,B",		2 },
    248       1.1     skrll { "tccr",	0x28040000,	0xfc7f0000,	"",		2 },
    249       1.1     skrll { "td", 	0xfc050000,	0xfc070000,	"r,f",		4 },
    250       1.1     skrll { "tio",	0xfc1f0000,	0xfc7f8000,	"r,I",		4 },
    251       1.1     skrll { "tmapr",	0x2c0a0000,	0xfc0f0000,	"r,R",		2 },
    252       1.1     skrll { "tpcbr",	0x280c0000,	0xfc7f0000,	"r",		2 },
    253       1.1     skrll { "trbr",	0x2c010000,	0xfc0f0000,	"b,R",		2 },
    254       1.1     skrll { "trc",	0x2c030000,	0xfc0f0000,	"r,R",		2 },
    255       1.1     skrll { "trcc",	0x28050000,	0xfc7f0000,	"",		2 },
    256       1.1     skrll { "trcm",	0x2c0b0000,	0xfc0f0000,	"r,R",		2 },
    257       1.1     skrll { "trn",	0x2c040000,	0xfc0f0000,	"r,R",		2 },
    258       1.1     skrll { "trnm",	0x2c0c0000,	0xfc0f0000,	"r,R",		2 },
    259       1.1     skrll { "trr",	0x2c000000,	0xfc0f0000,	"r,R",		2 },
    260       1.1     skrll { "trrm",	0x2c080000,	0xfc0f0000,	"r,R",		2 },
    261       1.1     skrll { "trsc",	0x2c0e0000,	0xfc0f0000,	"r,R",		2 },
    262       1.1     skrll { "trsw",	0x28000000,	0xfc7f0000,	"r",		2 },
    263       1.1     skrll { "tscr",	0x2c0f0000,	0xfc0f0000,	"r,R",		2 },
    264       1.1     skrll { "uei",	0x00070000,	0xffff0000,	"",		2 },
    265       1.1     skrll { "wait",	0x00010000,	0xffff0000,	"",		2 },
    266       1.1     skrll { "wcwcs",	0xfc5f0000,	0xfc7f8000,	"",		4 },
    267       1.1     skrll { "wwcs",	0x000c0000,	0xfc0f0000,	"r,R",		2 },
    268       1.1     skrll { "xcbr",	0x28020000,	0xfc0f0000,	"b,B",		2 },
    269       1.1     skrll { "xcr",	0x2c050000,	0xfc0f0000,	"r,R",		2 },
    270       1.1     skrll { "xcrm",	0x2c0d0000,	0xfc0f0000,	"r,R",		2 },
    271       1.1     skrll { "zbm",	0x9c080000,	0xfc080000,	"f,xOA,X",	4 },
    272       1.1     skrll { "zbr",	0x18040000,	0xfc0c0000,	"r,f",		2 },
    273       1.1     skrll { "zmb",	0xf8080000,	0xfc080000,	"r,xOA,X",	4 },
    274       1.1     skrll { "zmd",	0xf8000002,	0xfc080002,	"r,xOA,X",	4 },
    275       1.1     skrll { "zmh",	0xf8000001,	0xfc080001,	"r,xOA,X",	4 },
    276       1.1     skrll { "zmw",	0xf8000000,	0xfc080000,	"r,xOA,X",	4 },
    277       1.1     skrll { "zr", 	0x0c000000,	0xfc0f0000,	"r",		2 },
    278       1.1     skrll };
    279       1.1     skrll 
    280       1.1     skrll int numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]);
    281       1.1     skrll 
    282       1.1     skrll struct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) /
    283       1.1     skrll 		sizeof(gld_opcodes[0]);
    284