//--------------------------------------------------------------------------
int idaapi x86_write_register(
      thid_t thread_id,
      int reg_idx,
      const regval_t *value)
{
  regval_t rv = *value;
  // FPU related registers
  if ( ph.realcvt != NULL
    && reg_idx >= R_ST0
    && reg_idx < R_ST0+FPU_REGS_COUNT )
  {
    uchar fn[10];
    ph.realcvt(fn, rv.fval, 014); // store long double
    memcpy(rv.fval, fn, 10);
  }
  return s_write_register(thread_id, reg_idx, &rv);
}
Пример #2
0
//--------------------------------------------------------------------------
int idaapi arm_write_register(thid_t thread_id, int regidx, const regval_t *value)
{
  return s_write_register(thread_id, regidx, value);
}