X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Favr-dis.c;h=748cb2dbb6e4f9dfe09a8356ca7554180ea1bc14;hb=7efeed176a291c15c74e80aee5d7f906e28081cf;hp=3b783fb8e4f9abf449343607465852226a446ead;hpb=6f2750feaf2827ef8a1a0a5b2f90c1e9a6cabbd1;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/avr-dis.c b/opcodes/avr-dis.c index 3b783fb8e4..748cb2dbb6 100644 --- a/opcodes/avr-dis.c +++ b/opcodes/avr-dis.c @@ -184,17 +184,23 @@ avr_operand (unsigned int insn, unsigned int insn2, unsigned int pc, int constra break; case 'i': - sprintf (buf, "0x%04X", insn2); + { + unsigned int val = insn2 | 0x800000; + *sym = 1; + *sym_addr = val; + sprintf (buf, "0x%04X", insn2); + strcpy (comment, comment_start); + } break; case 'j': { unsigned int val = ((insn & 0xf) | ((insn & 0x600) >> 5) | ((insn & 0x100) >> 2)); - if (val > 0 && !(insn & 0x100)) - val |= 0x80; + *sym = 1; + *sym_addr = val | 0x800000; sprintf (buf, "0x%02x", val); - sprintf (buf, "%d", val); + strcpy (comment, comment_start); } break;