diff options
Diffstat (limited to 'opcodes/w65-dis.c')
-rw-r--r-- | opcodes/w65-dis.c | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/opcodes/w65-dis.c b/opcodes/w65-dis.c deleted file mode 100644 index 8f08d6310cb..00000000000 --- a/opcodes/w65-dis.c +++ /dev/null @@ -1,118 +0,0 @@ -/* Disassemble WDC 65816 instructions. - Copyright 1995, 1998, 2000 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 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. - -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. */ - -#include <stdio.h> -#include "sysdep.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 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; -{ - int val; - int c; - - while (*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); - } - else - fpr (stream, "0x%x", val); - - break; - default: - fpr (stream, "%c", c); - break; - } - } -} - -int -print_insn_w65 (memaddr, info) - bfd_vma memaddr; - struct disassemble_info *info; -{ - int status = 0; - unsigned char insn[4]; - register struct opinfo *op; - int i; - 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); - } - - for (op = optable; op->val != insn[0]; op++) - ; - - 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; - - switch (op->amode) - { - DISASM (); - } - - return size; - } -} |