コード例 #1
0
        private void SelectAlternateExecutionTimings_IfRegisterIsZero(RegisterZeroCondition regzCondition)
        {
            bool evalCondition = false;
            switch(regzCondition)
            {
                case RegisterZeroCondition.B:
                    evalCondition = RegisterB_CheckZero();
                    break;
                case RegisterZeroCondition.BC:
                    evalCondition = RegisterBC_CheckZero();
                    break;
                case RegisterZeroCondition.BCZF:
                    evalCondition = RegisterBC_CheckZero() || CheckFlagCondition(FlagCondition.Z);
                    break;
            }
            if (evalCondition)
            {
                currentInstruction.SelectAlternateExecutionTimings();
            }

            if (TraceMicroInstructions)
            {
                TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.CPUControlSelectAltExecTimingsIfRegisterIsZero, regzCondition));
            }
        }
コード例 #2
0
        private void SelectAlternateExecutionTimings_IfRegisterIsZero(RegisterZeroCondition regzCondition)
        {
            bool evalCondition = false;
            switch(regzCondition)
            {
                case RegisterZeroCondition.B:
                    evalCondition = RegisterB_CheckZero();
                    break;
                case RegisterZeroCondition.BC:
                    evalCondition = RegisterBC_CheckZero();
                    break;
                case RegisterZeroCondition.BCZF:
                    evalCondition = RegisterBC_CheckZero() || CheckFlagCondition(FlagCondition.Z);
                    break;
            }
            if (evalCondition)
            {
                currentInstruction.SelectAlternateExecutionTimings();
            }

            if (TraceMicroInstructions)
            {
                TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.CPUControlSelectAltExecTimingsIfRegisterIsZero, regzCondition));
            }
        }