* z8kgen.c (struct op): Replace unused flavor with id.
[deliverable/binutils-gdb.git] / opcodes / disassemble.c
index 3ea45830334e720b0046379fd2a7629993a8e4e2..04d5d0c71f7e7007501f09151ac831828b1e3bd0 100644 (file)
@@ -1,10 +1,12 @@
 /* Select disassembly routine for specified architecture.
    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
 /* Select disassembly routine for specified architecture.
    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
 
 
-   This program is free software; you can redistribute it and/or modify
+   This file is part of the GNU opcodes library.
+
+   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
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -14,7 +16,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
 
    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.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
 
 #include "sysdep.h"
 #include "dis-asm.h"
 
 #include "sysdep.h"
 #include "dis-asm.h"
@@ -25,6 +28,7 @@
 #define ARCH_arm
 #define ARCH_avr
 #define ARCH_bfin
 #define ARCH_arm
 #define ARCH_avr
 #define ARCH_bfin
+#define ARCH_cr16
 #define ARCH_cris
 #define ARCH_crx
 #define ARCH_d10v
 #define ARCH_cris
 #define ARCH_crx
 #define ARCH_d10v
@@ -42,6 +46,7 @@
 #define ARCH_ia64
 #define ARCH_ip2k
 #define ARCH_iq2000
 #define ARCH_ia64
 #define ARCH_ip2k
 #define ARCH_iq2000
+#define ARCH_lm32
 #define ARCH_m32c
 #define ARCH_m32r
 #define ARCH_m68hc11
 #define ARCH_m32c
 #define ARCH_m32r
 #define ARCH_m68hc11
 #define ARCH_m88k
 #define ARCH_maxq
 #define ARCH_mcore
 #define ARCH_m88k
 #define ARCH_maxq
 #define ARCH_mcore
+#define ARCH_mep
+#define ARCH_microblaze
 #define ARCH_mips
 #define ARCH_mmix
 #define ARCH_mn10200
 #define ARCH_mn10300
 #define ARCH_mips
 #define ARCH_mmix
 #define ARCH_mn10200
 #define ARCH_mn10300
+#define ARCH_moxie
 #define ARCH_mt
 #define ARCH_msp430
 #define ARCH_ns32k
 #define ARCH_mt
 #define ARCH_msp430
 #define ARCH_ns32k
 #define ARCH_powerpc
 #define ARCH_rs6000
 #define ARCH_s390
 #define ARCH_powerpc
 #define ARCH_rs6000
 #define ARCH_s390
+#define ARCH_score
 #define ARCH_sh
 #define ARCH_sparc
 #define ARCH_sh
 #define ARCH_sparc
+#define ARCH_spu
 #define ARCH_tic30
 #define ARCH_tic4x
 #define ARCH_tic54x
 #define ARCH_tic30
 #define ARCH_tic4x
 #define ARCH_tic54x
@@ -126,6 +136,11 @@ disassembler (abfd)
       disassemble = print_insn_bfin;
       break;
 #endif
       disassemble = print_insn_bfin;
       break;
 #endif
+#ifdef ARCH_cr16
+    case bfd_arch_cr16:
+      disassemble = print_insn_cr16;
+      break;
+#endif
 #ifdef ARCH_cris
     case bfd_arch_cris:
       disassemble = cris_get_disassembler (abfd);
 #ifdef ARCH_cris
     case bfd_arch_cris:
       disassemble = cris_get_disassembler (abfd);
@@ -183,6 +198,7 @@ disassembler (abfd)
 #endif
 #ifdef ARCH_i386
     case bfd_arch_i386:
 #endif
 #ifdef ARCH_i386
     case bfd_arch_i386:
+    case bfd_arch_l1om:
       disassemble = print_insn_i386;
       break;
 #endif
       disassemble = print_insn_i386;
       break;
 #endif
@@ -211,6 +227,11 @@ disassembler (abfd)
       disassemble = print_insn_fr30;
       break;
 #endif
       disassemble = print_insn_fr30;
       break;
 #endif
+#ifdef ARCH_lm32
+    case bfd_arch_lm32:
+      disassemble = print_insn_lm32;
+      break;
+#endif
 #ifdef ARCH_m32r
     case bfd_arch_m32r:
       disassemble = print_insn_m32r;
 #ifdef ARCH_m32r
     case bfd_arch_m32r:
       disassemble = print_insn_m32r;
@@ -244,6 +265,11 @@ disassembler (abfd)
       disassemble = print_insn_mt;
       break;
 #endif
       disassemble = print_insn_mt;
       break;
 #endif
+#ifdef ARCH_microblaze
+    case bfd_arch_microblaze:
+      disassemble = print_insn_microblaze;
+      break;
+#endif
 #ifdef ARCH_msp430
     case bfd_arch_msp430:
       disassemble = print_insn_msp430;
 #ifdef ARCH_msp430
     case bfd_arch_msp430:
       disassemble = print_insn_msp430;
@@ -259,6 +285,11 @@ disassembler (abfd)
       disassemble = print_insn_mcore;
       break;
 #endif
       disassemble = print_insn_mcore;
       break;
 #endif
+#ifdef ARCH_mep
+    case bfd_arch_mep:
+      disassemble = print_insn_mep;
+      break;
+#endif
 #ifdef ARCH_mips
     case bfd_arch_mips:
       if (bfd_big_endian (abfd))
 #ifdef ARCH_mips
     case bfd_arch_mips:
       if (bfd_big_endian (abfd))
@@ -326,6 +357,14 @@ disassembler (abfd)
       disassemble = print_insn_s390;
       break;
 #endif
       disassemble = print_insn_s390;
       break;
 #endif
+#ifdef ARCH_score
+    case bfd_arch_score:
+      if (bfd_big_endian (abfd))
+        disassemble = print_insn_big_score;      
+      else
+        disassemble = print_insn_little_score; 
+     break;
+#endif
 #ifdef ARCH_sh
     case bfd_arch_sh:
       disassemble = print_insn_sh;
 #ifdef ARCH_sh
     case bfd_arch_sh:
       disassemble = print_insn_sh;
@@ -336,6 +375,11 @@ disassembler (abfd)
       disassemble = print_insn_sparc;
       break;
 #endif
       disassemble = print_insn_sparc;
       break;
 #endif
+#ifdef ARCH_spu
+    case bfd_arch_spu:
+      disassemble = print_insn_spu;
+      break;
+#endif
 #ifdef ARCH_tic30
     case bfd_arch_tic30:
       disassemble = print_insn_tic30;
 #ifdef ARCH_tic30
     case bfd_arch_tic30:
       disassemble = print_insn_tic30;
@@ -404,6 +448,11 @@ disassembler (abfd)
       disassemble = print_insn_frv;
       break;
 #endif
       disassemble = print_insn_frv;
       break;
 #endif
+#ifdef ARCH_moxie
+    case bfd_arch_moxie:
+      disassemble = print_insn_moxie;
+      break;
+#endif
 #ifdef ARCH_iq2000
     case bfd_arch_iq2000:
       disassemble = print_insn_iq2000;
 #ifdef ARCH_iq2000
     case bfd_arch_iq2000:
       disassemble = print_insn_iq2000;
@@ -433,6 +482,12 @@ disassembler_usage (stream)
 #ifdef ARCH_powerpc
   print_ppc_disassembler_options (stream);
 #endif
 #ifdef ARCH_powerpc
   print_ppc_disassembler_options (stream);
 #endif
+#ifdef ARCH_i386
+  print_i386_disassembler_options (stream);
+#endif
+#ifdef ARCH_s390
+  print_s390_disassembler_options (stream);
+#endif
 
   return;
 }
 
   return;
 }
@@ -461,6 +516,12 @@ disassemble_init_for_target (struct disassemble_info * info)
       info->skip_zeroes = 32;
       break;
 #endif
       info->skip_zeroes = 32;
       break;
 #endif
+#ifdef ARCH_mep
+    case bfd_arch_mep:
+      info->skip_zeroes = 256;
+      info->skip_zeroes_at_end = 0;
+      break;
+#endif
 #ifdef ARCH_m32c
     case bfd_arch_m32c:
       info->endian = BFD_ENDIAN_BIG;
 #ifdef ARCH_m32c
     case bfd_arch_m32c:
       info->endian = BFD_ENDIAN_BIG;
This page took 0.028486 seconds and 4 git commands to generate.