|
|
@ -77,13 +77,13 @@ static bool CondPassed(ARMul_State* cpu, unsigned int cond) {
|
|
|
|
case ConditionCode::LS:
|
|
|
|
case ConditionCode::LS:
|
|
|
|
return (!c_flag || z_flag);
|
|
|
|
return (!c_flag || z_flag);
|
|
|
|
case ConditionCode::GE:
|
|
|
|
case ConditionCode::GE:
|
|
|
|
return ((!n_flag && !v_flag) || (n_flag && v_flag));
|
|
|
|
return (n_flag == v_flag);
|
|
|
|
case ConditionCode::LT:
|
|
|
|
case ConditionCode::LT:
|
|
|
|
return ((n_flag && !v_flag) || (!n_flag && v_flag));
|
|
|
|
return (n_flag != v_flag);
|
|
|
|
case ConditionCode::GT:
|
|
|
|
case ConditionCode::GT:
|
|
|
|
return ((!n_flag && !v_flag && !z_flag) || (n_flag && v_flag && !z_flag));
|
|
|
|
return (!z_flag && (n_flag == v_flag));
|
|
|
|
case ConditionCode::LE:
|
|
|
|
case ConditionCode::LE:
|
|
|
|
return ((n_flag && !v_flag) || (!n_flag && v_flag)) || z_flag;
|
|
|
|
return (z_flag || (n_flag != v_flag));
|
|
|
|
case ConditionCode::AL:
|
|
|
|
case ConditionCode::AL:
|
|
|
|
case ConditionCode::NV: // Unconditional
|
|
|
|
case ConditionCode::NV: // Unconditional
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|