case 6:
value = (long) (target_address - (address_of_var_part + 4)) + 4;
value >>= 1;
switch (opcodep[0])
{
case BEZ:
//printf("BEZ 16 value = %d\n",value);
opcodep[2] = 0x54; //emit beq, insertng its opcode
break;
case BNEZ:
//printf("BNEZ 16 value = %d\n",value);
opcodep[2] = 0x94; //emit bne, insertng its opcode
break;
}
opcodep[0] = 0x7; //insert cmp instruction instead of bez
opcodep[3] = ( value & 0xff );//insert offset
fixp = fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol,
fragp->fr_offset, 1, BFD_RELOC_RPINE_S8_PCREL);
fixp->fx_pcrel_adjust = 2;
fragp->fr_fix += 2;