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

if (fp_is_natval([f2]) || fp_is_natval(FR[f3])) {
FR[f1] = NATVAL;
} else {
fpminmax_exception_fault_check(f2, f3, sf, &tmp_fp_env);
if (fp_raise_fault(tmp_fp_env))
fp_exception_fault(fp_decode_fault(tmp_fp_env));

tmp_fr2 = tmp_right = fp_reg_read_hi(f2);
tmp_fr3 = tmp_left = fp_reg_read_hi(f3);
tmp_right.sign = FP_SIGN_POSITIVE;
tmp_left.sign = FP_SIGN_POSITIVE;
tmp_bool_res = fp_less_than(tmp_left, tmp_right);
tmp_res_hi = fp_single(tmp_bool_res ? tmp_fr2: tmp_fr3);

tmp_fr2 = tmp_right = fp_reg_read_lo(f2);
tmp_fr3 = tmp_left = fp_reg_read_lo(f3);
tmp_right.sign = FP_SIGN_POSITIVE;
tmp_left.sign = FP_SIGN_POSITIVE;
tmp_bool_res = fp_less_than(tmp_left, tmp_right);
tmp_res_lo = fp_single(tmp_bool_res ? tmp_fr2: tmp_fr3);

FR[f1].significand = fp_concatenate(tmp_res_hi, tmp_res_lo);
FR[f1].exponent = FP_INTEGER_EXP;
FR[f1].sign = FP_SIGN_POSITIVE;

fp_update_fpsr(sf, tmp_fp_env);
}
fp_update_psr(f1);
}