1130561Sobrien/* Print GOULD PN (PowerNode) instructions for GDB, the GNU debugger. 2130561Sobrien Copyright 1986, 1987, 1989, 1991 Free Software Foundation, Inc. 3130561Sobrien 4130561SobrienThis file is part of GDB. 5130561Sobrien 6130561SobrienGDB is free software; you can redistribute it and/or modify 7130561Sobrienit under the terms of the GNU General Public License as published by 8130561Sobrienthe Free Software Foundation; either version 1, or (at your option) 9130561Sobrienany later version. 10130561Sobrien 11130561SobrienGDB is distributed in the hope that it will be useful, 12130561Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of 13130561SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14130561SobrienGNU General Public License for more details. 15130561Sobrien 16130561SobrienYou should have received a copy of the GNU General Public License 17130561Sobrienalong with GDB; see the file COPYING. If not, write to 18218822Sdimthe Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 19130561Sobrien 20130561Sobrienstruct gld_opcode 21130561Sobrien{ 22130561Sobrien char *name; 23130561Sobrien unsigned long opcode; 24130561Sobrien unsigned long mask; 25130561Sobrien char *args; 26130561Sobrien int length; 27130561Sobrien}; 28130561Sobrien 29130561Sobrien/* We store four bytes of opcode for all opcodes because that 30130561Sobrien is the most any of them need. The actual length of an instruction 31130561Sobrien is always at least 2 bytes, and at most four. The length of the 32130561Sobrien instruction is based on the opcode. 33130561Sobrien 34130561Sobrien The mask component is a mask saying which bits must match 35130561Sobrien particular opcode in order for an instruction to be an instance 36130561Sobrien of that opcode. 37130561Sobrien 38130561Sobrien The args component is a string containing characters 39130561Sobrien that are used to format the arguments to the instruction. */ 40130561Sobrien 41130561Sobrien/* Kinds of operands: 42130561Sobrien r Register in first field 43130561Sobrien R Register in second field 44130561Sobrien b Base register in first field 45130561Sobrien B Base register in second field 46130561Sobrien v Vector register in first field 47130561Sobrien V Vector register in first field 48130561Sobrien A Optional address register (base register) 49130561Sobrien X Optional index register 50130561Sobrien I Immediate data (16bits signed) 51130561Sobrien O Offset field (16bits signed) 52130561Sobrien h Offset field (15bits signed) 53130561Sobrien d Offset field (14bits signed) 54130561Sobrien S Shift count field 55130561Sobrien 56130561Sobrien any other characters are printed as is... 57130561Sobrien*/ 58130561Sobrien 59130561Sobrien/* The assembler requires that this array be sorted as follows: 60130561Sobrien all instances of the same mnemonic must be consecutive. 61130561Sobrien All instances of the same mnemonic with the same number of operands 62130561Sobrien must be consecutive. 63130561Sobrien */ 64130561Sobrienstruct gld_opcode gld_opcodes[] = 65130561Sobrien{ 66130561Sobrien{ "abm", 0xa0080000, 0xfc080000, "f,xOA,X", 4 }, 67130561Sobrien{ "abr", 0x18080000, 0xfc0c0000, "r,f", 2 }, 68130561Sobrien{ "aci", 0xfc770000, 0xfc7f8000, "r,I", 4 }, 69130561Sobrien{ "adfd", 0xe0080002, 0xfc080002, "r,xOA,X", 4 }, 70130561Sobrien{ "adfw", 0xe0080000, 0xfc080000, "r,xOA,X", 4 }, 71130561Sobrien{ "adi", 0xc8010000, 0xfc7f0000, "r,I", 4 }, 72130561Sobrien{ "admb", 0xb8080000, 0xfc080000, "r,xOA,X", 4 }, 73130561Sobrien{ "admd", 0xb8000002, 0xfc080002, "r,xOA,X", 4 }, 74130561Sobrien{ "admh", 0xb8000001, 0xfc080001, "r,xOA,X", 4 }, 75130561Sobrien{ "admw", 0xb8000000, 0xfc080000, "r,xOA,X", 4 }, 76130561Sobrien{ "adr", 0x38000000, 0xfc0f0000, "r,R", 2 }, 77130561Sobrien{ "adrfd", 0x38090000, 0xfc0f0000, "r,R", 2 }, 78130561Sobrien{ "adrfw", 0x38010000, 0xfc0f0000, "r,R", 2 }, 79130561Sobrien{ "adrm", 0x38080000, 0xfc0f0000, "r,R", 2 }, 80130561Sobrien{ "ai", 0xfc030000, 0xfc07ffff, "I", 4 }, 81130561Sobrien{ "anmb", 0x84080000, 0xfc080000, "r,xOA,X", 4 }, 82130561Sobrien{ "anmd", 0x84000002, 0xfc080002, "r,xOA,X", 4 }, 83130561Sobrien{ "anmh", 0x84000001, 0xfc080001, "r,xOA,X", 4 }, 84130561Sobrien{ "anmw", 0x84000000, 0xfc080000, "r,xOA,X", 4 }, 85130561Sobrien{ "anr", 0x04000000, 0xfc0f0000, "r,R", 2 }, 86130561Sobrien{ "armb", 0xe8080000, 0xfc080000, "r,xOA,X", 4 }, 87130561Sobrien{ "armd", 0xe8000002, 0xfc080002, "r,xOA,X", 4 }, 88130561Sobrien{ "armh", 0xe8000001, 0xfc080001, "r,xOA,X", 4 }, 89130561Sobrien{ "armw", 0xe8000000, 0xfc080000, "r,xOA,X", 4 }, 90130561Sobrien{ "bcf", 0xf0000000, 0xfc080000, "I,xOA,X", 4 }, 91130561Sobrien{ "bct", 0xec000000, 0xfc080000, "I,xOA,X", 4 }, 92130561Sobrien{ "bei", 0x00060000, 0xffff0000, "", 2 }, 93130561Sobrien{ "bft", 0xf0000000, 0xff880000, "xOA,X", 4 }, 94130561Sobrien{ "bib", 0xf4000000, 0xfc780000, "r,xOA", 4 }, 95130561Sobrien{ "bid", 0xf4600000, 0xfc780000, "r,xOA", 4 }, 96130561Sobrien{ "bih", 0xf4200000, 0xfc780000, "r,xOA", 4 }, 97130561Sobrien{ "biw", 0xf4400000, 0xfc780000, "r,xOA", 4 }, 98130561Sobrien{ "bl", 0xf8800000, 0xff880000, "xOA,X", 4 }, 99130561Sobrien{ "bsub", 0x5c080000, 0xff8f0000, "", 2 }, 100130561Sobrien{ "bsubm", 0x28080000, 0xfc080000, "", 4 }, 101130561Sobrien{ "bu", 0xec000000, 0xff880000, "xOA,X", 4 }, 102130561Sobrien{ "call", 0x28080000, 0xfc0f0000, "", 2 }, 103130561Sobrien{ "callm", 0x5c080000, 0xff880000, "", 4 }, 104130561Sobrien{ "camb", 0x90080000, 0xfc080000, "r,xOA,X", 4 }, 105130561Sobrien{ "camd", 0x90000002, 0xfc080002, "r,xOA,X", 4 }, 106130561Sobrien{ "camh", 0x90000001, 0xfc080001, "r,xOA,X", 4 }, 107130561Sobrien{ "camw", 0x90000000, 0xfc080000, "r.xOA,X", 4 }, 108130561Sobrien{ "car", 0x10000000, 0xfc0f0000, "r,R", 2 }, 109130561Sobrien{ "cd", 0xfc060000, 0xfc070000, "r,f", 4 }, 110130561Sobrien{ "cea", 0x000f0000, 0xffff0000, "", 2 }, 111130561Sobrien{ "ci", 0xc8050000, 0xfc7f0000, "r,I", 4 }, 112130561Sobrien{ "cmc", 0x040a0000, 0xfc7f0000, "r", 2 }, 113130561Sobrien{ "cmmb", 0x94080000, 0xfc080000, "r,xOA,X", 4 }, 114130561Sobrien{ "cmmd", 0x94000002, 0xfc080002, "r,xOA,X", 4 }, 115130561Sobrien{ "cmmh", 0x94000001, 0xfc080001, "r,xOA,X", 4 }, 116130561Sobrien{ "cmmw", 0x94000000, 0xfc080000, "r,xOA,X", 4 }, 117130561Sobrien{ "cmr", 0x14000000, 0xfc0f0000, "r,R", 2 }, 118130561Sobrien{ "daci", 0xfc7f0000, 0xfc7f8000, "r,I", 4 }, 119130561Sobrien{ "dae", 0x000e0000, 0xffff0000, "", 2 }, 120130561Sobrien{ "dai", 0xfc040000, 0xfc07ffff, "I", 4 }, 121130561Sobrien{ "dci", 0xfc6f0000, 0xfc7f8000, "r,I", 4 }, 122130561Sobrien{ "di", 0xfc010000, 0xfc07ffff, "I", 4 }, 123130561Sobrien{ "dvfd", 0xe4000002, 0xfc080002, "r,xOA,X", 4 }, 124130561Sobrien{ "dvfw", 0xe4000000, 0xfc080000, "r,xOA,X", 4 }, 125130561Sobrien{ "dvi", 0xc8040000, 0xfc7f0000, "r,I", 4 }, 126130561Sobrien{ "dvmb", 0xc4080000, 0xfc080000, "r,xOA,X", 4 }, 127130561Sobrien{ "dvmh", 0xc4000001, 0xfc080001, "r,xOA,X", 4 }, 128130561Sobrien{ "dvmw", 0xc4000000, 0xfc080000, "r,xOA,X", 4 }, 129130561Sobrien{ "dvr", 0x380a0000, 0xfc0f0000, "r,R", 2 }, 130130561Sobrien{ "dvrfd", 0x380c0000, 0xfc0f0000, "r,R", 4 }, 131130561Sobrien{ "dvrfw", 0x38040000, 0xfc0f0000, "r,xOA,X", 4 }, 132130561Sobrien{ "eae", 0x00080000, 0xffff0000, "", 2 }, 133130561Sobrien{ "eci", 0xfc670000, 0xfc7f8080, "r,I", 4 }, 134130561Sobrien{ "ecwcs", 0xfc4f0000, 0xfc7f8000, "", 4 }, 135130561Sobrien{ "ei", 0xfc000000, 0xfc07ffff, "I", 4 }, 136130561Sobrien{ "eomb", 0x8c080000, 0xfc080000, "r,xOA,X", 4 }, 137130561Sobrien{ "eomd", 0x8c000002, 0xfc080002, "r,xOA,X", 4 }, 138130561Sobrien{ "eomh", 0x8c000001, 0xfc080001, "r,xOA,X", 4 }, 139130561Sobrien{ "eomw", 0x8c000000, 0xfc080000, "r,xOA,X", 4 }, 140130561Sobrien{ "eor", 0x0c000000, 0xfc0f0000, "r,R", 2 }, 141130561Sobrien{ "eorm", 0x0c080000, 0xfc0f0000, "r,R", 2 }, 142130561Sobrien{ "es", 0x00040000, 0xfc7f0000, "r", 2 }, 143130561Sobrien{ "exm", 0xa8000000, 0xff880000, "xOA,X", 4 }, 144130561Sobrien{ "exr", 0xc8070000, 0xfc7f0000, "r", 2 }, 145130561Sobrien{ "exrr", 0xc8070002, 0xfc7f0002, "r", 2 }, 146130561Sobrien{ "fixd", 0x380d0000, 0xfc0f0000, "r,R", 2 }, 147130561Sobrien{ "fixw", 0x38050000, 0xfc0f0000, "r,R", 2 }, 148130561Sobrien{ "fltd", 0x380f0000, 0xfc0f0000, "r,R", 2 }, 149130561Sobrien{ "fltw", 0x38070000, 0xfc0f0000, "r,R", 2 }, 150130561Sobrien{ "grio", 0xfc3f0000, 0xfc7f8000, "r,I", 4 }, 151130561Sobrien{ "halt", 0x00000000, 0xffff0000, "", 2 }, 152130561Sobrien{ "hio", 0xfc370000, 0xfc7f8000, "r,I", 4 }, 153130561Sobrien{ "jwcs", 0xfa080000, 0xff880000, "xOA,X", 4 }, 154130561Sobrien{ "la", 0x50000000, 0xfc000000, "r,xOA,X", 4 }, 155130561Sobrien{ "labr", 0x58080000, 0xfc080000, "b,xOA,X", 4 }, 156130561Sobrien{ "lb", 0xac080000, 0xfc080000, "r,xOA,X", 4 }, 157130561Sobrien{ "lcs", 0x00030000, 0xfc7f0000, "r", 2 }, 158130561Sobrien{ "ld", 0xac000002, 0xfc080002, "r,xOA,X", 4 }, 159130561Sobrien{ "lear", 0x80000000, 0xfc080000, "r,xOA,X", 4 }, 160130561Sobrien{ "lf", 0xcc000000, 0xfc080000, "r,xOA,X", 4 }, 161130561Sobrien{ "lfbr", 0xcc080000, 0xfc080000, "b,xOA,X", 4 }, 162130561Sobrien{ "lh", 0xac000001, 0xfc080001, "r,xOA,X", 4 }, 163130561Sobrien{ "li", 0xc8000000, 0xfc7f0000, "r,I", 4 }, 164130561Sobrien{ "lmap", 0x2c070000, 0xfc7f0000, "r", 2 }, 165130561Sobrien{ "lmb", 0xb0080000, 0xfc080000, "r,xOA,X", 4 }, 166130561Sobrien{ "lmd", 0xb0000002, 0xfc080002, "r,xOA,X", 4 }, 167130561Sobrien{ "lmh", 0xb0000001, 0xfc080001, "r,xOA,X", 4 }, 168130561Sobrien{ "lmw", 0xb0000000, 0xfc080000, "r,xOA,X", 4 }, 169130561Sobrien{ "lnb", 0xb4080000, 0xfc080000, "r,xOA,X", 4 }, 170130561Sobrien{ "lnd", 0xb4000002, 0xfc080002, "r,xOA,X", 4 }, 171130561Sobrien{ "lnh", 0xb4000001, 0xfc080001, "r,xOA,X", 4 }, 172130561Sobrien{ "lnw", 0xb4000000, 0xfc080000, "r,xOA,X", 4 }, 173130561Sobrien{ "lpsd", 0xf9800000, 0xff880000, "r,xOA,X", 4 }, 174130561Sobrien{ "lpsdcm", 0xfa800000, 0xff880000, "r,xOA,X", 4 }, 175130561Sobrien{ "lw", 0xac000000, 0xfc080000, "r,xOA,X", 4 }, 176130561Sobrien{ "lwbr", 0x5c000000, 0xfc080000, "b,xOA,X", 4 }, 177130561Sobrien{ "mpfd", 0xe4080002, 0xfc080002, "r,xOA,X", 4 }, 178130561Sobrien{ "mpfw", 0xe4080000, 0xfc080000, "r,xOA,X", 4 }, 179130561Sobrien{ "mpi", 0xc8030000, 0xfc7f0000, "r,I", 4 }, 180130561Sobrien{ "mpmb", 0xc0080000, 0xfc080000, "r,xOA,X", 4 }, 181130561Sobrien{ "mpmh", 0xc0000001, 0xfc080001, "r,xOA,X", 4 }, 182130561Sobrien{ "mpmw", 0xc0000000, 0xfc080000, "r,xOA,X", 4 }, 183130561Sobrien{ "mpr", 0x38020000, 0xfc0f0000, "r,R", 2 }, 184130561Sobrien{ "mprfd", 0x380e0000, 0xfc0f0000, "r,R", 2 }, 185130561Sobrien{ "mprfw", 0x38060000, 0xfc0f0000, "r,R", 2 }, 186130561Sobrien{ "nop", 0x00020000, 0xffff0000, "", 2 }, 187130561Sobrien{ "ormb", 0x88080000, 0xfc080000, "r,xOA,X", 4 }, 188130561Sobrien{ "ormd", 0x88000002, 0xfc080002, "r,xOA,X", 4 }, 189130561Sobrien{ "ormh", 0x88000001, 0xfc080001, "r,xOA,X", 4 }, 190130561Sobrien{ "ormw", 0x88000000, 0xfc080000, "r,xOA,X", 4 }, 191130561Sobrien{ "orr", 0x08000000, 0xfc0f0000, "r,R", 2 }, 192130561Sobrien{ "orrm", 0x08080000, 0xfc0f0000, "r,R", 2 }, 193130561Sobrien{ "rdsts", 0x00090000, 0xfc7f0000, "r", 2 }, 194130561Sobrien{ "return", 0x280e0000, 0xfc7f0000, "", 2 }, 195130561Sobrien{ "ri", 0xfc020000, 0xfc07ffff, "I", 4 }, 196130561Sobrien{ "rnd", 0x00050000, 0xfc7f0000, "r", 2 }, 197130561Sobrien{ "rpswt", 0x040b0000, 0xfc7f0000, "r", 2 }, 198130561Sobrien{ "rschnl", 0xfc2f0000, 0xfc7f8000, "r,I", 4 }, 199130561Sobrien{ "rsctl", 0xfc470000, 0xfc7f8000, "r,I", 4 }, 200130561Sobrien{ "rwcs", 0x000b0000, 0xfc0f0000, "r,R", 2 }, 201130561Sobrien{ "sacz", 0x10080000, 0xfc0f0000, "r,R", 2 }, 202130561Sobrien{ "sbm", 0x98080000, 0xfc080000, "f,xOA,X", 4 }, 203130561Sobrien{ "sbr", 0x18000000, 0xfc0c0000, "r,f", 4 }, 204130561Sobrien{ "sea", 0x000d0000, 0xffff0000, "", 2 }, 205130561Sobrien{ "setcpu", 0x2c090000, 0xfc7f0000, "r", 2 }, 206130561Sobrien{ "sio", 0xfc170000, 0xfc7f8000, "r,I", 4 }, 207130561Sobrien{ "sipu", 0x000a0000, 0xffff0000, "", 2 }, 208130561Sobrien{ "sla", 0x1c400000, 0xfc600000, "r,S", 2 }, 209130561Sobrien{ "slad", 0x20400000, 0xfc600000, "r,S", 2 }, 210130561Sobrien{ "slc", 0x24400000, 0xfc600000, "r,S", 2 }, 211130561Sobrien{ "sll", 0x1c600000, 0xfc600000, "r,S", 2 }, 212130561Sobrien{ "slld", 0x20600000, 0xfc600000, "r,S", 2 }, 213130561Sobrien{ "smc", 0x04070000, 0xfc070000, "", 2 }, 214130561Sobrien{ "sra", 0x1c000000, 0xfc600000, "r,S", 2 }, 215130561Sobrien{ "srad", 0x20000000, 0xfc600000, "r,S", 2 }, 216130561Sobrien{ "src", 0x24000000, 0xfc600000, "r,S", 2 }, 217130561Sobrien{ "srl", 0x1c200000, 0xfc600000, "r,S", 2 }, 218130561Sobrien{ "srld", 0x20200000, 0xfc600000, "r,S", 2 }, 219130561Sobrien{ "stb", 0xd4080000, 0xfc080000, "r,xOA,X", 4 }, 220130561Sobrien{ "std", 0xd4000002, 0xfc080002, "r,xOA,X", 4 }, 221130561Sobrien{ "stf", 0xdc000000, 0xfc080000, "r,xOA,X", 4 }, 222130561Sobrien{ "stfbr", 0x54000000, 0xfc080000, "b,xOA,X", 4 }, 223130561Sobrien{ "sth", 0xd4000001, 0xfc080001, "r,xOA,X", 4 }, 224130561Sobrien{ "stmb", 0xd8080000, 0xfc080000, "r,xOA,X", 4 }, 225130561Sobrien{ "stmd", 0xd8000002, 0xfc080002, "r,xOA,X", 4 }, 226130561Sobrien{ "stmh", 0xd8000001, 0xfc080001, "r,xOA,X", 4 }, 227130561Sobrien{ "stmw", 0xd8000000, 0xfc080000, "r,xOA,X", 4 }, 228130561Sobrien{ "stpio", 0xfc270000, 0xfc7f8000, "r,I", 4 }, 229130561Sobrien{ "stw", 0xd4000000, 0xfc080000, "r,xOA,X", 4 }, 230130561Sobrien{ "stwbr", 0x54000000, 0xfc080000, "b,xOA,X", 4 }, 231130561Sobrien{ "suabr", 0x58000000, 0xfc080000, "b,xOA,X", 4 }, 232130561Sobrien{ "sufd", 0xe0000002, 0xfc080002, "r,xOA,X", 4 }, 233130561Sobrien{ "sufw", 0xe0000000, 0xfc080000, "r,xOA,X", 4 }, 234130561Sobrien{ "sui", 0xc8020000, 0xfc7f0000, "r,I", 4 }, 235130561Sobrien{ "sumb", 0xbc080000, 0xfc080000, "r,xOA,X", 4 }, 236130561Sobrien{ "sumd", 0xbc000002, 0xfc080002, "r,xOA,X", 4 }, 237130561Sobrien{ "sumh", 0xbc000001, 0xfc080001, "r,xOA,X", 4 }, 238130561Sobrien{ "sumw", 0xbc000000, 0xfc080000, "r,xOA,X", 4 }, 239130561Sobrien{ "sur", 0x3c000000, 0xfc0f0000, "r,R", 2 }, 240130561Sobrien{ "surfd", 0x380b0000, 0xfc0f0000, "r,xOA,X", 4 }, 241130561Sobrien{ "surfw", 0x38030000, 0xfc0f0000, "r,R", 2 }, 242130561Sobrien{ "surm", 0x3c080000, 0xfc0f0000, "r,R", 2 }, 243130561Sobrien{ "svc", 0xc8060000, 0xffff0000, "", 4 }, 244130561Sobrien{ "tbm", 0xa4080000, 0xfc080000, "f,xOA,X", 4 }, 245130561Sobrien{ "tbr", 0x180c0000, 0xfc0c0000, "r,f", 2 }, 246130561Sobrien{ "tbrr", 0x2c020000, 0xfc0f0000, "r,B", 2 }, 247130561Sobrien{ "tccr", 0x28040000, 0xfc7f0000, "", 2 }, 248130561Sobrien{ "td", 0xfc050000, 0xfc070000, "r,f", 4 }, 249130561Sobrien{ "tio", 0xfc1f0000, 0xfc7f8000, "r,I", 4 }, 250130561Sobrien{ "tmapr", 0x2c0a0000, 0xfc0f0000, "r,R", 2 }, 251130561Sobrien{ "tpcbr", 0x280c0000, 0xfc7f0000, "r", 2 }, 252130561Sobrien{ "trbr", 0x2c010000, 0xfc0f0000, "b,R", 2 }, 253130561Sobrien{ "trc", 0x2c030000, 0xfc0f0000, "r,R", 2 }, 254130561Sobrien{ "trcc", 0x28050000, 0xfc7f0000, "", 2 }, 255130561Sobrien{ "trcm", 0x2c0b0000, 0xfc0f0000, "r,R", 2 }, 256130561Sobrien{ "trn", 0x2c040000, 0xfc0f0000, "r,R", 2 }, 257130561Sobrien{ "trnm", 0x2c0c0000, 0xfc0f0000, "r,R", 2 }, 258130561Sobrien{ "trr", 0x2c000000, 0xfc0f0000, "r,R", 2 }, 259130561Sobrien{ "trrm", 0x2c080000, 0xfc0f0000, "r,R", 2 }, 260130561Sobrien{ "trsc", 0x2c0e0000, 0xfc0f0000, "r,R", 2 }, 261130561Sobrien{ "trsw", 0x28000000, 0xfc7f0000, "r", 2 }, 262130561Sobrien{ "tscr", 0x2c0f0000, 0xfc0f0000, "r,R", 2 }, 263130561Sobrien{ "uei", 0x00070000, 0xffff0000, "", 2 }, 264130561Sobrien{ "wait", 0x00010000, 0xffff0000, "", 2 }, 265130561Sobrien{ "wcwcs", 0xfc5f0000, 0xfc7f8000, "", 4 }, 266130561Sobrien{ "wwcs", 0x000c0000, 0xfc0f0000, "r,R", 2 }, 267130561Sobrien{ "xcbr", 0x28020000, 0xfc0f0000, "b,B", 2 }, 268130561Sobrien{ "xcr", 0x2c050000, 0xfc0f0000, "r,R", 2 }, 269130561Sobrien{ "xcrm", 0x2c0d0000, 0xfc0f0000, "r,R", 2 }, 270130561Sobrien{ "zbm", 0x9c080000, 0xfc080000, "f,xOA,X", 4 }, 271130561Sobrien{ "zbr", 0x18040000, 0xfc0c0000, "r,f", 2 }, 272130561Sobrien{ "zmb", 0xf8080000, 0xfc080000, "r,xOA,X", 4 }, 273130561Sobrien{ "zmd", 0xf8000002, 0xfc080002, "r,xOA,X", 4 }, 274130561Sobrien{ "zmh", 0xf8000001, 0xfc080001, "r,xOA,X", 4 }, 275130561Sobrien{ "zmw", 0xf8000000, 0xfc080000, "r,xOA,X", 4 }, 276130561Sobrien{ "zr", 0x0c000000, 0xfc0f0000, "r", 2 }, 277130561Sobrien}; 278130561Sobrien 279130561Sobrienint numopcodes = sizeof(gld_opcodes) / sizeof(gld_opcodes[0]); 280130561Sobrien 281130561Sobrienstruct gld_opcode *endop = gld_opcodes + sizeof(gld_opcodes) / 282130561Sobrien sizeof(gld_opcodes[0]); 283