summaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-10-01 11:19:38 +0000
committerNick Clifton <nickc@redhat.com>2004-10-01 11:19:38 +0000
commit14127cc4f2b98a818bef55c977eb3ea11b0ba5ce (patch)
tree34363f9efc5cf035e143b555d9e8d626803f84d4 /opcodes
parent99f5fc1b7586022516204077e4a2065d5a689213 (diff)
downloadbinutils-gdb-14127cc4f2b98a818bef55c977eb3ea11b0ba5ce.tar.gz
Fixes for the encoding and decoding of the PDP11's SOB instruction
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/pdp11-dis.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index cf49121abec..2dde35383cd 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-01 Bill Farmer <Bill@the-farmers.freeserve.co.uk>
+
+ * pdp11-dis.c (print_insn_pdp11): Subtract the SOB's displacement
+ rather than add it.
+
2004-09-30 Paul Brook <paul@codesourcery.com>
* arm-dis.c (print_insn_arm): Handle 'e' for SMI instruction.
diff --git a/opcodes/pdp11-dis.c b/opcodes/pdp11-dis.c
index 4f5bf84aead..1756e53b7d9 100644
--- a/opcodes/pdp11-dis.c
+++ b/opcodes/pdp11-dis.c
@@ -342,7 +342,8 @@ print_insn_pdp11 (memaddr, info)
case PDP11_OPCODE_REG_DISPL:
{
int displ = (opcode & 0x3f) << 10;
- bfd_vma address = memaddr + (sign_extend (displ) >> 9);
+ bfd_vma address = memaddr - (displ >> 9);
+
FPRINTF (F, OP.name);
FPRINTF (F, AFTER_INSTRUCTION);
print_reg (src, info);