aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1997-02-05 16:14:26 +0000
committerIan Lance Taylor <ian@airs.com>1997-02-05 16:14:26 +0000
commit0d52464ce4b0f01d44c442c1217570368b2b07d7 (patch)
tree3533c33f13a2a8ca8546250a3bd103560588381f
parentc916764078fa06f8fc24de28714d1462835b513b (diff)
downloadgdb-0d52464ce4b0f01d44c442c1217570368b2b07d7.zip
gdb-0d52464ce4b0f01d44c442c1217570368b2b07d7.tar.gz
gdb-0d52464ce4b0f01d44c442c1217570368b2b07d7.tar.bz2
* mips16-opc.c: Add new cases of exit instruction for
disassembler. * mips-dis.c (print_mips16_insn_arg): Display floating point registers in operands of exit instruction. Print `$' before register names in operands of entry and exit instructions.
-rw-r--r--opcodes/ChangeLog8
-rw-r--r--opcodes/mips-dis.c35
2 files changed, 29 insertions, 14 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index e48d40d..7f9b044 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,11 @@
+Wed Feb 5 11:12:44 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * mips16-opc.c: Add new cases of exit instruction for
+ disassembler.
+ * mips-dis.c (print_mips16_insn_arg): Display floating point
+ registers in operands of exit instruction. Print `$' before
+ register names in operands of entry and exit instructions.
+
start-sanitize-tic80
Thu Jan 30 14:09:03 1997 Fred Fish <fnf@cygnus.com>
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
index a585571..f4e5ca6 100644
--- a/opcodes/mips-dis.c
+++ b/opcodes/mips-dis.c
@@ -1,5 +1,5 @@
/* 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.
@@ -842,16 +842,12 @@ print_mips16_insn_arg (type, op, l, use_extend, extend, memaddr, info)
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;
}
@@ -865,19 +861,30 @@ print_mips16_insn_arg (type, op, l, use_extend, extend, memaddr, info)
}
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;