public void CanSetTheSameFlagMoreThanOnce(CpuFlag flag) { cpu.SetFlag(flag); cpu.SetFlag(flag); cpu.SetFlag(flag); cpu.GetFlag(flag).Should().BeTrue(); }
public void CanSetMultipleFlags(CpuFlag firstFlag, CpuFlag secondFlag, CpuFlag flagNotSet) { cpu.SetFlag(firstFlag); cpu.SetFlag(secondFlag); cpu.GetFlag(firstFlag).Should().BeTrue(); cpu.GetFlag(secondFlag).Should().BeTrue(); cpu.GetFlag(flagNotSet).Should().BeFalse(); }
protected void ApplyFlag(CpuFlag flag, bool shouldSet) { if (shouldSet) { cpu.SetFlag(flag); } else { cpu.RemoveFlag(flag); } }
public void CanRemoveAFlag(CpuFlag firstFlag, CpuFlag secondFlag, CpuFlag thirdFlag) { cpu.SetFlag(firstFlag); cpu.SetFlag(secondFlag); cpu.SetFlag(thirdFlag); TestRemoveFlag(firstFlag); cpu.GetFlag(secondFlag).Should().BeTrue(); cpu.GetFlag(thirdFlag).Should().BeTrue(); TestRemoveFlag(secondFlag); cpu.GetFlag(thirdFlag).Should().BeTrue(); }
public void SetFlag(CpuFlag cpuFlag) => StatusRegister |= cpuFlag;
public void RemoveFlag(CpuFlag cpuFlag) => StatusRegister &= ~cpuFlag;
public bool GetFlag(CpuFlag cpuFlag) => StatusRegister.HasFlag(cpuFlag);
private void TestRemoveFlag(CpuFlag flag) { cpu.RemoveFlag(flag); cpu.GetFlag(flag).Should().BeFalse(); }
public void CanSetAFlag(CpuFlag flag) { cpu.SetFlag(flag); cpu.GetFlag(flag).Should().BeTrue(); }
internal OpCodeDesc(string name, string desc, CpuFlag flags = CpuFlag.None) { Name = name; Description = desc; Flags = flags; }