X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=opcodes%2Fw65-dis.c;h=9a5bde1b8b359a7032f54b096df524b14542d155;hb=005cb1192ac986f689938e91c4702dbd49635982;hp=97ad74ec20a4ebfb0e0b7864a494102304e30685;hpb=53c9ebc5f114920f04b2e64f03494c895aa361de;p=platform%2Fupstream%2Fbinutils.git diff --git a/opcodes/w65-dis.c b/opcodes/w65-dis.c index 97ad74e..9a5bde1 100644 --- a/opcodes/w65-dis.c +++ b/opcodes/w65-dis.c @@ -1,23 +1,26 @@ /* Disassemble WDC 65816 instructions. - Copyright 1995, 1998, 2000, 2001, 2002, 2005 - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 #include "sysdep.h" +#include + #define STATIC_TABLE #define DEFINE_TABLE @@ -28,25 +31,8 @@ static fprintf_ftype fpr; static void *stream; static struct disassemble_info *local_info; -static void print_operand PARAMS ((int, char *, int *)); - -#if 0 -static char *lname[] = { "r0","r1","r2","r3","r4","r5","r6","r7","s0" }; - -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; - int *args; +print_operand (int lookup, char *format, int *args) { int val; int c; @@ -58,15 +44,7 @@ print_operand (lookup, format, args) 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); - } + local_info->print_address_func (val, local_info); else fpr (stream, "0x%x", val); @@ -79,9 +57,7 @@ print_operand (lookup, format, args) } int -print_insn_w65 (memaddr, info) - bfd_vma memaddr; - struct disassemble_info *info; +print_insn_w65 (bfd_vma memaddr, struct disassemble_info *info) { int status = 0; unsigned char insn[4]; @@ -90,13 +66,13 @@ print_insn_w65 (memaddr, info) int X = 0; int M = 0; int args[2]; + 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); - } + status = info->read_memory_func (memaddr + i, insn + i, 1, info); for (op = optable; op->val != insn[0]; op++) ;