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));
        }