Constant MIPS
Source pub const MIPS: &str = "set = \"MIPS\"\nwidth = 32\n\n[formats]\nnames = [\"r\", \"i\", \"j\", \"branch\", \"mem\"]\nparts = [\n [\n \"opcode\",\n 6,\n \"u8\",\n ],\n [\n \"rs\",\n 5,\n \"Register_int\",\n ],\n [\n \"rt\",\n 5,\n \"Register_int\",\n ],\n [\n \"rd\",\n 5,\n \"Register_int\",\n ],\n [\n \"shamt\",\n 5,\n \"u8\",\n ],\n [\n \"funct\",\n 6,\n \"u8\",\n ],\n [\n \"imm\",\n 32,\n \"VInt\",\n ],\n [\n \"addr\",\n 32,\n \"VInt\",\n ],\n]\n\n[types]\nnames = [\"R\", \"I\", \"J\"]\nR = [\n { name = \"opcode\", top = 5, bot = 0 },\n { name = \"rs\", top = 4, bot = 0 },\n { name = \"rt\", top = 4, bot = 0 },\n { name = \"rd\", top = 4, bot = 0 },\n { name = \"shamt\", top = 4, bot = 0 },\n { name = \"funct\", top = 5, bot = 0 },\n]\nI = [\n { name = \"opcode\", top = 5, bot = 0 },\n { name = \"rs\", top = 4, bot = 0 },\n { name = \"rt\", top = 4, bot = 0 },\n { name = \"imm\", top = 15, bot = 0 },\n]\nJ = [\n { name = \"opcode\", top = 5, bot = 0 },\n { name = \"addr\", top = 25, bot = 0 },\n]\n\n[r]\ntype = \"R\"\n[r.repr]\ndefault = \"$name$ %rd%, %rs%, %rt%\"\njr = \"$name$ %rs%\"\njalr = \"$name$ %rd%, %rs%\"\nmfhi = \"$name$ %rd%\"\nmthi = \"$name$ %rd%\"\nmflo = \"$name$ %rd%\"\nmtlo = \"$name$ %rd%\"\nmfc0 = \"$name$ %rd%\"\n[r.instructions]\nsll = { mask = 0xfc00003f, match = 0x00 }\nsrl = { mask = 0xfc00003f, match = 0x02 }\nsra = { mask = 0xfc00003f, match = 0x03 }\njr = { mask = 0xfc00003f, match = 0x08 }\njalr = { mask = 0xfc00003f, match = 0x09 }\nmult = { mask = 0xfc00003f, match = 0x18 }\nmultu = { mask = 0xfc00003f, match = 0x19 }\nadd = { mask = 0xfc00003f, match = 0x20 }\naddu = { mask = 0xfc00003f, match = 0x21 }\nsub = { mask = 0xfc00003f, match = 0x22 }\nsubu = { mask = 0xfc00003f, match = 0x23 }\nand = { mask = 0xfc00003f, match = 0x24 }\nor = { mask = 0xfc00003f, match = 0x25 }\nxor = { mask = 0xfc00003f, match = 0x26 }\nnor = { mask = 0xfc00003f, match = 0x27 }\ndiv = { mask = 0xfc00003f, match = 0x1a }\ndivu = { mask = 0xfc00003f, match = 0x1b }\nslt = { mask = 0xfc00003f, match = 0x2a }\nsltu = { mask = 0xfc00003f, match = 0x2b }\n\n[i]\ntype = \"I\"\n[i.repr]\ndefault = \"$name$ %rt%, %rs%, %imm%\"\n[i.instructions]\naddi = { mask = 0xfc000000, match = 0x20000000 }\naddiu = { mask = 0xfc000000, match = 0x24000000 }\nandi = { mask = 0xfc000000, match = 0x30000000 }\nori = { mask = 0xfc000000, match = 0x34000000 }\nslti = { mask = 0xfc000000, match = 0x28000000 }\nsltiu = { mask = 0xfc000000, match = 0x2c000000 }\n\n\n[branch]\ntype = \"I\"\n[branch.repr]\ndefault = \"$name$ %rs%, %rt%\"\n[branch.instructions]\nbeq = { mask = 0xfc00000000, match = 0x10000000 }\nbne = { mask = 0xfc00000000, match = 0x14000000 }\nblez = { mask = 0xfc00000000, match = 0x18000000 }\nbgtz = { mask = 0xfc00000000, match = 0x1c000000 }\n\n[mem]\ntype = \"I\"\n[mem.repr]\ndefault = \"$name$ %rt%, %imm%(%rs%)\"\n[mem.instructions]\nlb = { mask = 0xfc000000, match = 0x80000000 }\nlw = { mask = 0xfc000000, match = 0x8c000000 }\nlbu = { mask = 0xfc000000, match = 0x90000000 }\nlhu = { mask = 0xfc000000, match = 0x94000000 }\nsb = { mask = 0xfc000000, match = 0xa0000000 }\nsh = { mask = 0xfc000000, match = 0xa4000000 }\nsw = { mask = 0xfc000000, match = 0xac000000 }\n\n[j]\ntype = \"J\"\n[j.repr]\ndefault = \"$name$ %addr%\"\n[j.instructions]\nj = { mask = 0xfc000000, match = 0x08000000 }\njal = { mask = 0xfc000000, match = 0x0c000000 }\n\n[mappings]\nnames = [\"Register_int\"]\nnumber = 32\nRegister_int = [\n \"$zero\",\n \"$at\",\n \"$v0\",\n \"$v1\",\n \"$a0\",\n \"$a1\",\n \"$a2\",\n \"$a3\",\n \"$t0\",\n \"$t1\",\n \"$t2\",\n \"$t3\",\n \"$t4\",\n \"$t5\",\n \"$t6\",\n \"$t7\",\n \"$s0\",\n \"$s1\",\n \"$s2\",\n \"$s3\",\n \"$s4\",\n \"$s5\",\n \"$s6\",\n \"$s7\",\n \"$t8\",\n \"$t9\",\n \"$k0\",\n \"$k1\",\n \"$gp\",\n \"$sp\",\n \"$fp\",\n \"$ra\",\n]\n";