* mips16-opc.c: Add new cases of exit instruction for
authorIan Lance Taylor <ian@airs.com>
Wed, 5 Feb 1997 16:14:26 +0000 (16:14 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 5 Feb 1997 16:14:26 +0000 (16:14 +0000)
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.

opcodes/ChangeLog
opcodes/mips-dis.c

index e48d40dc442df3eb7fe63076787817f781cac2c7..7f9b044804b915d3ddc3c49fc0561cfbc4679d47 100644 (file)
@@ -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>
 
index a585571a34c6fd940ce458d138350fca76835329..f4e5ca6a5c16e0ee734a2698be279ac86eec6544 100644 (file)
@@ -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;