X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=opcodes%2Favr-dis.c;h=06f8a0c663b967d2b6d0b4efb41c413cd3ef9087;hb=ed96bdcba59ec5bba01de1b1db398f338f9200b1;hp=6a37c6e637d023361f30d5ee0de9f440cad44413;hpb=a6743a5420aa02a0550b0f7be004f6c06e90ce21;p=binutils-gdb.git diff --git a/opcodes/avr-dis.c b/opcodes/avr-dis.c index 6a37c6e637d..06f8a0c663b 100644 --- a/opcodes/avr-dis.c +++ b/opcodes/avr-dis.c @@ -1,5 +1,5 @@ /* Disassemble AVR instructions. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2021 Free Software Foundation, Inc. Contributed by Denis Chertykov @@ -25,7 +25,7 @@ #include "disassemble.h" #include "opintl.h" #include "libiberty.h" -#include "bfd_stdint.h" +#include struct avr_opcodes_s { @@ -198,6 +198,8 @@ avr_operand (unsigned int insn, unsigned int insn2, unsigned int pc, int constra { unsigned int val = ((insn & 0xf) | ((insn & 0x600) >> 5) | ((insn & 0x100) >> 2)); + if ((insn & 0x100) == 0) + val |= 0x80; *sym = 1; *sym_addr = val | 0x800000; sprintf (buf, "0x%02x", val);