* aout64.h (BMAGIC): Define.
[deliverable/binutils-gdb.git] / gdb / vax-pinsn.c
index 471f92e4325d3fb54a5576eba7c3965bd6cc8053..350d90613b5f33c798bf4c36f8c3dca7e137bb25 100644 (file)
@@ -1,29 +1,25 @@
-/* Print vax instructions for GDB, the GNU debugger.
-   Copyright (C) 1986 Free Software Foundation, Inc.
+/* Print VAX instructions for GDB, the GNU debugger.
+   Copyright 1986, 1989, 1991, 1992 Free Software Foundation, Inc.
 
-GDB is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY.  No author or distributor accepts responsibility to anyone
-for the consequences of using it or for whether it serves any
-particular purpose or works at all, unless he says so in writing.
-Refer to the GDB General Public License for full details.
+This file is part of GDB.
 
-Everyone is granted permission to copy, modify and redistribute GDB,
-but only under the conditions described in the GDB General Public
-License.  A copy of this license is supposed to have been given to you
-along with GDB so you can know your rights and responsibilities.  It
-should be in a file named COPYING.  Among other things, the copyright
-notice and this notice must be preserved on all copies.
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
 
-In other words, go ahead and share GDB, but don't try to stop
-anyone else from sharing it farther.  Help stamp out software hoarding!
-*/
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-#include <stdio.h>
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #include "defs.h"
-#include "param.h"
 #include "symtab.h"
-#include "opcode.h"
+#include "opcode/vax.h"
 
 /* Vax instructions are never longer than this.  */
 #define MAXLEN 62
@@ -31,8 +27,6 @@ anyone else from sharing it farther.  Help stamp out software hoarding!
 /* Number of elements in the opcode table.  */
 #define NOPCODES (sizeof votstrs / sizeof votstrs[0])
 
-extern char *reg_names[];
-
 static unsigned char *print_insn_arg ();
 \f
 /* Print the vax instruction at address MEMADDR in debugged memory,
@@ -41,7 +35,7 @@ static unsigned char *print_insn_arg ();
 int
 print_insn (memaddr, stream)
      CORE_ADDR memaddr;
-     FILE *stream;
+     GDB_FILE *stream;
 {
   unsigned char buffer[MAXLEN];
   register int i;
@@ -58,11 +52,11 @@ print_insn (memaddr, stream)
   /* Handle undefined instructions.  */
   if (i == NOPCODES)
     {
-      fprintf (stream, "0%o", buffer[0]);
+      fprintf_unfiltered (stream, "0%o", buffer[0]);
       return 1;
     }
 
-  fprintf (stream, "%s", votstrs[i].name);
+  fprintf_unfiltered (stream, "%s", votstrs[i].name);
 
   /* Point at first byte of argument data,
      and at descriptor for first argument.  */
@@ -70,14 +64,14 @@ print_insn (memaddr, stream)
   d = votstrs[i].detail.args;
 
   if (*d)
-    fputc (' ', stream);
+    fputc_unfiltered (' ', stream);
 
   while (*d)
     {
       p = print_insn_arg (d, p, memaddr + (p - buffer), stream);
       d += 2;
       if (*d)
-       fprintf (stream, ",");
+       fprintf_unfiltered (stream, ",");
     }
   return p - buffer;
 }
@@ -87,7 +81,7 @@ print_insn_arg (d, p, addr, stream)
      char *d;
      register char *p;
      CORE_ADDR addr;
-     FILE *stream;
+     GDB_FILE *stream;
 {
   register int regnum = *p & 0xf;
   float floatlitbuf;
@@ -95,10 +89,10 @@ print_insn_arg (d, p, addr, stream)
   if (*d == 'b')
     {
       if (d[1] == 'b')
-       fprintf (stream, "0x%x", addr + *p++ + 1);
+       fprintf_unfiltered (stream, "0x%x", addr + *p++ + 1);
       else
        {
-         fprintf (stream, "0x%x", addr + *(short *)p + 2);
+         fprintf_unfiltered (stream, "0x%x", addr + *(short *)p + 2);
          p += 2;
        }
     }
@@ -112,32 +106,32 @@ print_insn_arg (d, p, addr, stream)
        if (d[1] == 'd' || d[1] == 'f' || d[1] == 'g' || d[1] == 'h')
          {
            *(int *)&floatlitbuf = 0x4000 + ((p[-1] & 0x3f) << 4);
-           fprintf (stream, "$%f", floatlitbuf);
+           fprintf_unfiltered (stream, "$%f", floatlitbuf);
          }
        else
-         fprintf (stream, "$%d", p[-1] & 0x3f);
+         fprintf_unfiltered (stream, "$%d", p[-1] & 0x3f);
        break;
 
       case 4:                  /* Indexed */
        p = (char *) print_insn_arg (d, p, addr + 1, stream);
-       fprintf (stream, "[%s]", reg_names[regnum]);
+       fprintf_unfiltered (stream, "[%s]", reg_names[regnum]);
        break;
 
       case 5:                  /* Register */
-       fprintf (stream, reg_names[regnum]);
+       fprintf_unfiltered (stream, reg_names[regnum]);
        break;
 
       case 7:                  /* Autodecrement */
-       fputc ('-', stream);
+       fputc_unfiltered ('-', stream);
       case 6:                  /* Register deferred */
-       fprintf (stream, "(%s)", reg_names[regnum]);
+       fprintf_unfiltered (stream, "(%s)", reg_names[regnum]);
        break;
 
       case 9:                  /* Autoincrement deferred */
-       fputc ('@', stream);
+       fputc_unfiltered ('@', stream);
        if (regnum == PC_REGNUM)
          {
-           fputc ('#', stream);
+           fputc_unfiltered ('#', stream);
            print_address (*(long *)p, stream);
            p += 4;
            break;
@@ -145,30 +139,30 @@ print_insn_arg (d, p, addr, stream)
       case 8:                  /* Autoincrement */
        if (regnum == PC_REGNUM)
          {
-           fputc ('#', stream);
+           fputc_unfiltered ('#', stream);
            switch (d[1])
              {
              case 'b':
-               fprintf (stream, "%d", *p++);
+               fprintf_unfiltered (stream, "%d", *p++);
                break;
 
              case 'w':
-               fprintf (stream, "%d", *(short *)p);
+               fprintf_unfiltered (stream, "%d", *(short *)p);
                p += 2;
                break;
 
              case 'l':
-               fprintf (stream, "%d", *(long *)p);
+               fprintf_unfiltered (stream, "%d", *(long *)p);
                p += 4;
                break;
 
              case 'q':
-               fprintf (stream, "0x%x%08x", ((long *)p)[1], ((long *)p)[0]);
+               fprintf_unfiltered (stream, "0x%x%08x", ((long *)p)[1], ((long *)p)[0]);
                p += 8;
                break;
 
              case 'o':
-               fprintf (stream, "0x%x%08x%08x%08x",
+               fprintf_unfiltered (stream, "0x%x%08x%08x%08x",
                         ((long *)p)[3], ((long *)p)[2],
                         ((long *)p)[1], ((long *)p)[0]);
                p += 16;
@@ -176,64 +170,64 @@ print_insn_arg (d, p, addr, stream)
 
              case 'f':
                if (INVALID_FLOAT (p, 4))
-                 fprintf (stream, "<<invalid float 0x%x>>", *(int *) p);
+                 fprintf_unfiltered (stream, "<<invalid float 0x%x>>", *(int *) p);
                else
-                 fprintf (stream, "%f", *(float *) p);
+                 fprintf_unfiltered (stream, "%f", *(float *) p);
                p += 4;
                break;
 
              case 'd':
                if (INVALID_FLOAT (p, 8))
-                 fprintf (stream, "<<invalid float 0x%x%08x>>",
+                 fprintf_unfiltered (stream, "<<invalid float 0x%x%08x>>",
                           ((long *)p)[1], ((long *)p)[0]);
                else
-                 fprintf (stream, "%f", *(double *) p);
+                 fprintf_unfiltered (stream, "%f", *(double *) p);
                p += 8;
                break;
 
              case 'g':
-               fprintf (stream, "g-float");
+               fprintf_unfiltered (stream, "g-float");
                p += 8;
                break;
 
              case 'h':
-               fprintf (stream, "h-float");
+               fprintf_unfiltered (stream, "h-float");
                p += 16;
                break;
 
              }
          }
        else
-         fprintf (stream, "(%s)+", reg_names[regnum]);
+         fprintf_unfiltered (stream, "(%s)+", reg_names[regnum]);
        break;
 
       case 11:                 /* Byte displacement deferred */
-       fputc ('@', stream);
+       fputc_unfiltered ('@', stream);
       case 10:                 /* Byte displacement */
        if (regnum == PC_REGNUM)
          print_address (addr + *p + 2, stream);
        else
-         fprintf (stream, "%d(%s)", *p, reg_names[regnum]);
+         fprintf_unfiltered (stream, "%d(%s)", *p, reg_names[regnum]);
        p += 1;
        break;
 
       case 13:                 /* Word displacement deferred */
-       fputc ('@', stream);
+       fputc_unfiltered ('@', stream);
       case 12:                 /* Word displacement */
        if (regnum == PC_REGNUM)
          print_address (addr + *(short *)p + 3, stream);
        else
-         fprintf (stream, "%d(%s)", *(short *)p, reg_names[regnum]);
+         fprintf_unfiltered (stream, "%d(%s)", *(short *)p, reg_names[regnum]);
        p += 2;
        break;
 
       case 15:                 /* Long displacement deferred */
-       fputc ('@', stream);
+       fputc_unfiltered ('@', stream);
       case 14:                 /* Long displacement */
        if (regnum == PC_REGNUM)
          print_address (addr + *(long *)p + 5, stream);
        else
-         fprintf (stream, "%d(%s)", *(long *)p, reg_names[regnum]);
+         fprintf_unfiltered (stream, "%d(%s)", *(long *)p, reg_names[regnum]);
        p += 4;
       }
 
This page took 0.0293 seconds and 4 git commands to generate.