aboutsummaryrefslogtreecommitdiff
path: root/opcodes/h8300-dis.c
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 /opcodes/h8300-dis.c
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.
Diffstat (limited to 'opcodes/h8300-dis.c')
-rw-r--r--opcodes/h8300-dis.c4
1 files changed, 4 insertions, 0 deletions
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)