/* Print mips instructions for GDB, the GNU debugger, or for objdump.
- Copyright 1989, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+ Copyright 1989, 91, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
Contributed by Nobuyuki Hikichi(hikichi@sra.co.jp).
This file is part of GDB, GAS, and the GNU binutils.
init = 1;
}
+ info->bytes_per_chunk = 4;
+ info->display_endian = info->endian;
+
op = mips_hash[(word >> OP_SH_OP) & OP_MASK_OP];
if (op != NULL)
{
int extend;
const struct mips_opcode *op, *opend;
+ info->bytes_per_chunk = 2;
+ info->display_endian = info->endian;
+
info->insn_info_valid = 1;
info->branch_delay_insns = 0;
info->data_size = 0;
l = (l >> MIPS16OP_SH_IMM6) & MIPS16OP_MASK_IMM6;
amask = (l >> 3) & 7;
- if (amask == 5 || amask == 6)
- {
- (*info->fprintf_func) (info->stream, "??");
- need_comma = 1;
- }
- else if (amask > 0 && amask < 7)
+
+ if (amask > 0 && amask < 5)
{
- (*info->fprintf_func) (info->stream, "%s", reg_names[4]);
+ (*info->fprintf_func) (info->stream, "$%s", reg_names[4]);
if (amask > 1)
- (*info->fprintf_func) (info->stream, "-%s",
+ (*info->fprintf_func) (info->stream, "-$%s",
reg_names[amask + 3]);
need_comma = 1;
}
}
else if (smask > 0)
{
- (*info->fprintf_func) (info->stream, "%s%s",
+ (*info->fprintf_func) (info->stream, "%s$%s",
need_comma ? "," : "",
reg_names[16]);
if (smask > 1)
- (*info->fprintf_func) (info->stream, "-%s",
+ (*info->fprintf_func) (info->stream, "-$%s",
reg_names[smask + 15]);
need_comma = 1;
}
if (l & 1)
- (*info->fprintf_func) (info->stream, "%s%s",
- need_comma ? "," : "",
- reg_names[31]);
+ {
+ (*info->fprintf_func) (info->stream, "%s$%s",
+ need_comma ? "," : "",
+ reg_names[31]);
+ need_comma = 1;
+ }
+
+ if (amask == 5 || amask == 6)
+ {
+ (*info->fprintf_func) (info->stream, "%s$f0",
+ need_comma ? "," : "");
+ if (amask == 6)
+ (*info->fprintf_func) (info->stream, "-$f1");
+ }
}
break;