FP_PM_P
write_fp(par, FP_PM, read_fp(par, FP_PM) & ~FP_PM_P);
write_fp(par, FP_PM, read_fp(par, FP_PM) | FP_PM_P);
fp_pm &= ~FP_PM_P;
fp_pm |= FP_PM_P;
if (par->fp[FP_PM] & FP_PM_P) {
write_fp(par, FP_PM, par->fp[FP_PM] & ~FP_PM_P);
if (par->fp[FP_PM] & FP_PM_P) {
fp &= ~FP_PM_P;
fp |= FP_PM_P;
fp_pm &= ~FP_PM_P;
fp_pm |= FP_PM_P;