diff options
author | Nick Clifton <nickc@redhat.com> | 2004-03-30 09:29:19 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2004-03-30 09:29:19 +0000 |
commit | bb9bce30158f17b8223769090c717f66fe5157d4 (patch) | |
tree | 60bd0054cf53ab6c4444e9edfc6bcfc8033ce73b /opcodes/m32r-asm.c | |
parent | 3e1fce47b168b0cd71ef854243eec22a8faa6d6b (diff) | |
download | binutils-redhat-bb9bce30158f17b8223769090c717f66fe5157d4.tar.gz |
Fix bug parsing shigh(0xffff8000)
Diffstat (limited to 'opcodes/m32r-asm.c')
-rw-r--r-- | opcodes/m32r-asm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/opcodes/m32r-asm.c b/opcodes/m32r-asm.c index 8c2cc81ea8..87c33f04cd 100644 --- a/opcodes/m32r-asm.c +++ b/opcodes/m32r-asm.c @@ -4,7 +4,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. - the resultant file is machine generated, cgen-asm.in isn't -Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation, Inc. This file is part of the GNU Binutils and GDB, the GNU debugger. @@ -111,7 +111,10 @@ parse_hi16 (cd, strp, opindex, valuep) ++*strp; if (errmsg == NULL && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER) - value = (value >> 16) + (value & 0x8000 ? 1 : 0); + { + value = value + (value & 0x8000 ? 0x10000 : 0); + value >>= 16; + } *valuep = value; return errmsg; } |