aboutsummaryrefslogtreecommitdiff
path: root/opcodes/v850-dis.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1997-09-02 22:40:39 +0000
committerNick Clifton <nickc@redhat.com>1997-09-02 22:40:39 +0000
commit1f302a3bd9dbeacd407ba6e454db1f72c5bb3ba4 (patch)
treefb39fb0ca56869a885cefb28fd23fdda1ea0f3a5 /opcodes/v850-dis.c
parent6c872cd2fc302906680a3103fd57852f7d52e8b2 (diff)
downloadgdb-1f302a3bd9dbeacd407ba6e454db1f72c5bb3ba4.zip
gdb-1f302a3bd9dbeacd407ba6e454db1f72c5bb3ba4.tar.gz
gdb-1f302a3bd9dbeacd407ba6e454db1f72c5bb3ba4.tar.bz2
Removed use of V850_OPERNAD_ADJUST_SHORT_MEMORY.
Fixed several operand patterns.
Diffstat (limited to 'opcodes/v850-dis.c')
-rw-r--r--opcodes/v850-dis.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/opcodes/v850-dis.c b/opcodes/v850-dis.c
index 77bf51d..17cfb9c 100644
--- a/opcodes/v850-dis.c
+++ b/opcodes/v850-dis.c
@@ -98,17 +98,20 @@ disassemble (memaddr, info, insn)
bfd_byte buffer[ 4 ];
operand = &v850_operands[*opindex_ptr];
-
+
if (operand->extract)
value = (operand->extract) (insn, 0);
- else if (operand->bits == -1)
- value = (insn & operand->shift);
else
- value = (insn >> operand->shift) & ((1 << operand->bits) - 1);
+ {
+ if (operand->bits == -1)
+ value = (insn & operand->shift);
+ else
+ value = (insn >> operand->shift) & ((1 << operand->bits) - 1);
- if (operand->flags & V850_OPERAND_SIGNED)
- value = ((long)(value << (32 - operand->bits))
- >> (32 - operand->bits));
+ if (operand->flags & V850_OPERAND_SIGNED)
+ value = ((long)(value << (32 - operand->bits))
+ >> (32 - operand->bits));
+ }
/* The first operand is always output without any
special handling.
@@ -143,7 +146,6 @@ disassemble (memaddr, info, insn)
flag = operand->flags;
flag &= ~ V850_OPERAND_SIGNED;
flag &= ~ V850_OPERAND_RELAX;
- flag &= ~ V850_OPERAND_ADJUST_SHORT_MEMORY;
flag &= - flag;
switch (flag)