/* Disassemble Motorola M*Core instructions.
- Copyright (C) 1993-2020 Free Software Foundation, Inc.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
This file is part of the GNU opcodes library.
unsigned char ibytes[4];
fprintf_ftype print_func = info->fprintf_func;
void *stream = info->stream;
- unsigned short inst;
+ unsigned int inst;
unsigned int i;
int status;
case BL:
{
- uint32_t val = inst & 0x000F;
+ uint32_t val = memaddr + 2 + ((inst | ~0xF) << 1);
+
(*print_func) (stream, "\t%s, 0x%x",
- grname[(inst >> 4) & 0xF],
- (uint32_t) (memaddr - (val << 1)));
+ grname[(inst >> 4) & 0xF], val);
}
break;