From 0d4b8e3fd2c2374abf04075600fbd66f96022070 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Sun, 1 Dec 1991 07:53:50 +0000 Subject: [PATCH] * cpu-h8300.c: Add support for MEMIND addressing mode --- bfd/ChangeLog | 2 ++ bfd/cpu-h8300.c | 43 ++++++++++++++++++++++++++++++------------- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 881b27a..d101da5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,7 @@ Sat Nov 30 21:19:15 1991 Steve Chamberlain (sac at rtl.cygnus.com) + * cpu-h8300.c: Add support for MEMIND addressing mode + * coff-a29k.c: defined RELOC_PROCESSING to take the #ifdef out of coffcode.h * coffcode.h: use the new macro if available diff --git a/bfd/cpu-h8300.c b/bfd/cpu-h8300.c index a5db477..79761d3 100644 --- a/bfd/cpu-h8300.c +++ b/bfd/cpu-h8300.c @@ -135,6 +135,7 @@ FILE *stream) case IMM8: case ABS8SRC: case ABS8DST: + case MEMIND: case DISP8: abs= data[len>>1]; len++; @@ -193,39 +194,55 @@ FILE *stream) case IMM16: case IMM8: case IMM3: - fprintf(stream, "#0x%x", (unsigned)abs); break; + fprintf(stream, "#0x%x", (unsigned)abs); + break; case RD8: - fprintf(stream, "%s", regnames[rd]); break; + fprintf(stream, "%s", regnames[rd]); + break; case RS8: - fprintf(stream, "%s",regnames[rs]); break; + fprintf(stream, "%s",regnames[rs]); + break; case RD16: - fprintf(stream, "r%d", rd& 0x7); break; + fprintf(stream, "r%d", rd& 0x7); + break; case RS16: - fprintf(stream, "r%d", rs & 0x7); break; + fprintf(stream, "r%d", rs & 0x7); + break; case RSINC: - fprintf(stream, "@r%d+", rs & 0x7); break; + fprintf(stream, "@r%d+", rs & 0x7); + break; case RDDEC: - fprintf(stream, "@-r%d", rd & 0x7); break; + fprintf(stream, "@-r%d", rd & 0x7); + break; case RDIND: - fprintf(stream, "@r%d", rd & 0x7); break; + fprintf(stream, "@r%d", rd & 0x7); + break; case RSIND: - fprintf(stream, "@r%d",rs & 0x7); break; + fprintf(stream, "@r%d",rs & 0x7); + break; case ABS8SRC: case ABS16SRC: case ABS16DST: case ABS8DST: - fprintf(stream, "@0x%x", (unsigned)abs); break; + fprintf(stream, "@0x%x", (unsigned)abs); + break; + case MEMIND: + fprintf(stream, "@@%d (%x)",abs, abs); + break; case DISP8: fprintf(stream, ".%s%d (%x)",(char)abs>0 ? "+" :"", (char)abs, addr + (char)abs); break; case DISPSRC: case DISPDST: - fprintf(stream, "@(0x%x,r%d)", abs, rdisp & 0x7); break; + fprintf(stream, "@(0x%x,r%d)", abs, rdisp & 0x7); + break; case CCR: - fprintf(stream, "ccr"); break; + fprintf(stream, "ccr"); + break; case KBIT: - fprintf(stream, "#%d",abs); break; + fprintf(stream, "#%d",abs); + break; default: abort(); } -- 2.7.4