Make the objfile destructor private
[deliverable/binutils-gdb.git] / opcodes / z80-dis.c
index 27d898fed3ea001454bf78e61735575e42f37e13..e30d6383de31cd53239cee04dea4d3376c9359f0 100644 (file)
@@ -1,16 +1,18 @@
 /* Print Z80 and R800 instructions
-   Copyright 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005-2019 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
-   This file 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
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
+   the Free Software Foundation; either version 3, 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.
+   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
@@ -18,7 +20,7 @@
    MA 02110-1301, USA.  */
 
 #include "sysdep.h"
-#include "dis-asm.h"
+#include "disassemble.h"
 #include <stdio.h>
 
 struct buffer
@@ -126,8 +128,10 @@ static int
 prt_rr_nn (struct buffer *buf, disassemble_info * info, char *txt)
 {
   char mytxt[TXTSIZ];
+  int rr;
 
-  snprintf (mytxt, TXTSIZ, txt, rr_str[(buf->data[0] >> 4) & 3]);
+  rr = (buf->data[buf->n_fetch - 1] >> 4) & 3;
+  snprintf (mytxt, TXTSIZ, txt, rr_str[rr]);
   return prt_nn (buf, info, mytxt);
 }
 
@@ -295,9 +299,11 @@ struct tab_elt opc_ed[] =
   { 0x4A, 0xCF, prt_rr, "adc hl," },
   { 0x4B, 0xCF, prt_rr_nn, "ld %s,(0x%%04x)" },
   { 0x4D, 0xFF, prt, "reti" },
+  { 0x4F, 0xFF, prt, "ld r,a" },
   { 0x56, 0xFF, prt, "im 1" },
   { 0x57, 0xFF, prt, "ld a,i" },
   { 0x5E, 0xFF, prt, "im 2" },
+  { 0x5F, 0xFF, prt, "ld a,r" },
   { 0x67, 0xFF, prt, "rrd" },
   { 0x6F, 0xFF, prt, "rld" },
   { 0xA0, 0xE4, cis, "" },
@@ -308,7 +314,7 @@ struct tab_elt opc_ed[] =
 };
 
 static int
-pref_ed (struct buffer * buf, disassemble_info * info, 
+pref_ed (struct buffer * buf, disassemble_info * info,
         char* txt ATTRIBUTE_UNUSED)
 {
   struct tab_elt *p;
This page took 0.024299 seconds and 4 git commands to generate.