{
immval = get_int_field_imm (inst);
if (immval & 0x8000)
- immval |= 0xFFFF0000;
+ immval |= (~0xFFFF);
}
if (immval > 0 && info->symbol_at_address_func (immval, info))
{
{
immval = get_int_field_imm (inst);
if (immval & 0x8000)
- immval |= 0xFFFF0000;
+ immval |= (~0xFFFF);
}
immval += memaddr;
if (immval > 0 && info->symbol_at_address_func (immval, info))
{
immval = get_int_field_imm (inst);
if (immval & 0x8000)
- immval |= 0xFFFF0000;
+ immval |= (~0xFFFF);
}
if (op->inst_offset_type == INST_PC_OFFSET)
immval += (int) memaddr;
{
immval = get_int_field_imm (inst);
if (immval & 0x8000)
- immval |= 0xFFFF0000;
+ immval |= (~0xFFFF);
}
if (op->inst_offset_type == INST_PC_OFFSET)
immval += (int) memaddr;
case INST_TYPE_R1_IMM:
if (immfound)
{
- targetaddr = (immval << 16) & 0xffff0000;
+ targetaddr = (immval << 16) & (~0xffff);
targetaddr |= (get_int_field_imm (inst) & 0x0000ffff);
}
else
{
targetaddr = get_int_field_imm (inst);
if (targetaddr & 0x8000)
- targetaddr |= 0xFFFF0000;
+ targetaddr |= (~0xFFFF);
}
if (op->inst_offset_type == INST_PC_OFFSET)
targetaddr += pcval;
{
if (immfound)
{
- targetaddr = (immval << 16) & 0xffff0000;
+ targetaddr = (immval << 16) & (~0xffff);
targetaddr |= (get_int_field_imm (inst) & 0x0000ffff);
}
else
{
targetaddr = get_int_field_imm (inst);
if (targetaddr & 0x8000)
- targetaddr |= 0xFFFF0000;
+ targetaddr |= (~0xFFFF);
}
targetaddr += r1val;
*targetvalid = true;