public void TestCp(byte a, byte b, bool c, bool h, bool z) { var device = TestUtils.CreateTestDevice(); var cpu = device.CPU; var alu = new ALU(cpu); alu.Cp(a, b); Assert.Equal(c, cpu.Registers.GetFlag(CpuFlags.CarryFlag)); Assert.Equal(h, cpu.Registers.GetFlag(CpuFlags.HalfCarryFlag)); Assert.True(cpu.Registers.GetFlag(CpuFlags.SubtractFlag)); Assert.Equal(z, cpu.Registers.GetFlag(CpuFlags.ZeroFlag)); }