libmach: update mips disassembler (from sources)
This commit is contained in:
parent
cf76ca4f32
commit
3e8a38dfb3
2 changed files with 14 additions and 4 deletions
|
@ -492,9 +492,13 @@ cop0(Instr *i)
|
||||||
case 16:
|
case 16:
|
||||||
m = "rfe";
|
m = "rfe";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 32:
|
case 24:
|
||||||
m = "eret";
|
m = "eret";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 32:
|
||||||
|
m = "wait";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (m) {
|
if (m) {
|
||||||
|
|
|
@ -415,7 +415,9 @@ static void
|
||||||
sll(Opcode *o, Instr *i)
|
sll(Opcode *o, Instr *i)
|
||||||
{
|
{
|
||||||
if (i->w0 == 0)
|
if (i->w0 == 0)
|
||||||
bprint(i, "NOOP");
|
bprint(i, "NOOP"); /* unofficial nop */
|
||||||
|
else if (i->w0 == 0xc0) /* 0xc0: SLL $3,R0 */
|
||||||
|
bprint(i, "EHB");
|
||||||
else if (i->rd == i->rt)
|
else if (i->rd == i->rt)
|
||||||
format(o->mnemonic, i, "$%a,R%d");
|
format(o->mnemonic, i, "$%a,R%d");
|
||||||
else
|
else
|
||||||
|
@ -962,9 +964,13 @@ cop0(Instr *i)
|
||||||
m = "RFE";
|
m = "RFE";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 32:
|
case 24:
|
||||||
m = "ERET";
|
m = "ERET";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 32:
|
||||||
|
m = "WAIT";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (m) {
|
if (m) {
|
||||||
format(m, i, 0);
|
format(m, i, 0);
|
||||||
|
|
Loading…
Reference in a new issue