setf 操作 字型慣例
if (PR[qp]) {
fp_check_target_register(f1);
if (tmp_isrcode = fp_reg_disabled(f1, 0, 0, 0))
disabled_fp_register_fault(tmp_isrcode, 0);

if (!GR[r2].nat) {
if (single_form)
FR[f1] = fp_mem_to_fr_format(GR[r2], 4, 0);
else if (double_form)
FR[f1] = fp_mem_to_fr_format(GR[r2], 8, 0);
else if (significand_form) {
FR[f1].significand = GR[r2];
FR[f1].exponent = FP_INTEGER_EXP;
FR[f1].sign = 0;
} else { // exponent_form
FR[f1].significand = 0x8000000000000000;
FR[f1].exp = GR[r2]{16:0};
FR[f1].sign = GR[r2]{17};
}
} else
FR[f1] = NATVAL;

fp_update_psr(f1);
}