From: nickc Date: Thu, 15 Apr 2004 08:55:27 +0000 (+0000) Subject: Treat adds and subs as a special case X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4f033dc1dc5a133069a036c34206ed0ebb09df5b;p=pf3gnuchains%2Fpf3gnuchains3x.git Treat adds and subs as a special case --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 65b0898b0d..3c085ea12d 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2004-04-15 Anil Paranjpe + + * h8300-dis.c (bfd_h8_disassemble) : Treat "adds" & "subs" + separately. + 2004-03-30 Kazuhiro Inaoka * m32r-asm.c: Regenerate. diff --git a/opcodes/h8300-dis.c b/opcodes/h8300-dis.c index 895a9efbdc..258791984e 100644 --- a/opcodes/h8300-dis.c +++ b/opcodes/h8300-dis.c @@ -716,6 +716,17 @@ bfd_h8_disassemble (addr, info, mach) int hadone = 0; int nargs; + /* Special case handling for the adds and subs instructions + since in H8 mode thay can only take the r0-r7 registers but + in other (higher) modes they can take the er0-er7 registers + as well. */ + if (strcmp (qi->opcode->name, "adds") == 0 + || strcmp (qi->opcode->name, "subs") == 0) + { + outfn (stream, "#%d,%s", cst[0], pregnames[regno[1] & 0x7]); + return qi->length; + } + for (nargs = 0; nargs < 3 && args[nargs] != (op_type) E; nargs++)