//-------------------------------------------------------------------------- int idaapi x86_read_registers( thid_t thread_id, int clsmask, regval_t *values) { int code = s_read_registers(thread_id, clsmask, values); if ( code > 0 ) { // FPU related registers if ( ph.realcvt != NULL && (clsmask & X86_RC_FPU) != 0 ) { for ( int i=R_ST0; i < R_ST0+FPU_REGS_COUNT; i++ ) { if ( ph.realcvt(values[i].fval, values[i].fval, 004) != 0 ) // load long double memset(values[i].fval, 0, sizeof(values[i].fval)); } } } return code; }
//-------------------------------------------------------------------------- int idaapi arm_read_registers(thid_t thread_id, int clsmask, regval_t *values) { return s_read_registers(thread_id, clsmask, values); }