aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-07-11 18:46:41 +0000
committerJeff Law <law@redhat.com>1996-07-11 18:46:41 +0000
commit52aa53362eb354df48dbeed236ef7576e13bffac (patch)
tree0b2e736cdc1539f947c895e976d267778e793b48
parentb3ef936e6bc74642ed53c1cb66fccfb013c2ec2b (diff)
downloadgdb-52aa53362eb354df48dbeed236ef7576e13bffac.zip
gdb-52aa53362eb354df48dbeed236ef7576e13bffac.tar.gz
gdb-52aa53362eb354df48dbeed236ef7576e13bffac.tar.bz2
* h8300-dis.c (bfd_h8_disassemble): "abs" is implicitly two
if the next arg is marked with SRC_IN_DST. Gross. Gross hack so that shift-by-two insns are disassembled correctly.
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/h8300-dis.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index a6af4ac..7c913cd 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,8 @@
Thu Jul 11 11:58:44 1996 Jeffrey A Law (law@cygnus.com)
-
+
+ * h8300-dis.c (bfd_h8_disassemble): "abs" is implicitly two
+ if the next arg is marked with SRC_IN_DST. Gross.
+
* h8300-dis.c (bfd_h8_disassemble): Print "exr" when
we're looking for and find EXR.
diff --git a/opcodes/h8300-dis.c b/opcodes/h8300-dis.c
index 7481019..659ead8 100644
--- a/opcodes/h8300-dis.c
+++ b/opcodes/h8300-dis.c
@@ -287,6 +287,10 @@ bfd_h8_disassemble (addr, info, mode)
}
else if (x & (IMM|KBIT|DBIT))
{
+ /* Bletch. For shal #2,er0 and friends. */
+ if (*(args+1) & SRC_IN_DST)
+ abs = 2;
+
fprintf (stream, "#0x%x", (unsigned) abs);
}
else if (x & REG)