Automatic date update in version.in
[platform/upstream/binutils.git] / opcodes / w65-dis.c
index 02c6d19..9a5bde1 100644 (file)
 /* Disassemble WDC 65816 instructions.
-   Copyright (C) 1995 Free Software Foundation, Inc.
+   Copyright (C) 1995-2014 Free Software Foundation, Inc.
 
-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.
+   This file is part of the GNU opcodes library.
 
-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.
+   This library 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 3, or (at your option)
+   any later version.
 
-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.  */
+   It 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.
 
+   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., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
 #include <stdio.h>
+
 #define STATIC_TABLE
 #define DEFINE_TABLE
 
 #include "w65-opc.h"
 #include "dis-asm.h"
 
-static   fprintf_ftype fpr;
-static   void *stream;
-static   struct disassemble_info *local_info;
-#if 0
-static char *lname[] =  {"r0","r1","r2","r3","r4","r5","r6","r7","s0"};
+static fprintf_ftype fpr;
+static void *stream;
+static struct disassemble_info *local_info;
 
-static char *findname (val)
-     unsigned int val;
-{
-  if (val >= 0x10 && val <= 0x20)
-    return lname[(val - 0x10) / 2];
-  return 0;
-}
-#endif
 static void
-print_operand (lookup, format, args)
-     int lookup;
-     char *format;
-     unsigned     int *args;
+print_operand (int lookup, char *format, int *args)
 {
   int val;
   int c;
-  char *name;
+
   while (*format)
     {
-      switch ( c = *format++) 
+      switch (c = *format++)
        {
        case '$':
          val = args[(*format++) - '0'];
-         if (lookup) 
-           {
-#if 0
-             name = findname(val);
-             if (name)
-               fpr(stream, "%s", name);
-             else
-#endif
-               local_info->print_address_func (val, local_info);  
-           }
+         if (lookup)
+           local_info->print_address_func (val, local_info);
          else
            fpr (stream, "0x%x", val);
 
          break;
        default:
-         fpr(stream,"%c", c);
+         fpr (stream, "%c", c);
          break;
        }
     }
 }
-int 
-print_insn_w65(memaddr, info)
-     bfd_vma memaddr;
-     struct disassemble_info *info;
-{
-
 
+int
+print_insn_w65 (bfd_vma memaddr, struct disassemble_info *info)
+{
   int status = 0;
   unsigned char insn[4];
-  register struct opinfo *op;
+  const struct opinfo *op;
   int i;
-  int X =0;
+  int X = 0;
   int M = 0;
   int args[2];
-stream = info->stream;
+
+  stream = info->stream;
   fpr = info->fprintf_func;
-local_info =    info;
-  for (i = 0; i <4 && status == 0; i++) 
-    {
-    status = info->read_memory_func(memaddr+i, insn + i, 1, info);
-  }
+  local_info = info;
 
+  for (i = 0; i < 4 && status == 0; i++)
+    status = info->read_memory_func (memaddr + i, insn + i, 1, info);
 
-  for (op = optable; op->val != insn[0]; op++) 
+  for (op = optable; op->val != insn[0]; op++)
     ;
 
-  fpr(stream,"%s", op->name);
-  
-  /* Prepare all the posible operand values */
+  fpr (stream, "%s", op->name);
+
+  /* Prepare all the posible operand values */
   {
     int size = 1;
     int asR_W65_ABS8 = insn[1];
     int asR_W65_ABS16 = (insn[2] << 8) + asR_W65_ABS8;
     int asR_W65_ABS24 = (insn[3] << 16) + asR_W65_ABS16;
-    int asR_W65_PCR8 = ((char)(asR_W65_ABS8)) + memaddr + 2;
-    int asR_W65_PCR16 = ((short)(asR_W65_ABS16)) + memaddr + 3;
+    int asR_W65_PCR8 = ((char) (asR_W65_ABS8)) + memaddr + 2;
+    int asR_W65_PCR16 = ((short) (asR_W65_ABS16)) + memaddr + 3;
 
-    switch (op->amode) {
-      DISASM();
-    }
+    switch (op->amode)
+      {
+       DISASM ();
+      }
 
-  return size;
+    return size;
   }
-
 }