X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Fz80-dis.c;h=bdb2a4ff08fc1545b63dc6aa6a2706bd5a8b26fa;hb=c3d399e712774f8c8e4cd6b6a5bb8230c42bc760;hp=27d898fed3ea001454bf78e61735575e42f37e13;hpb=01f0fe5e0450edf168c1f612feb93cf588e4e7ea;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/z80-dis.c b/opcodes/z80-dis.c index 27d898fed3..bdb2a4ff08 100644 --- a/opcodes/z80-dis.c +++ b/opcodes/z80-dis.c @@ -1,16 +1,18 @@ /* Print Z80 and R800 instructions - Copyright 2005 Free Software Foundation, Inc. + Copyright 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Arnold Metselaar - 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 @@ -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, "" },