예제 #1
0
        public void When_UshortIncCarry_ExpectFlagsUnchanged()
        {
            registers.Reset();
            var result = alu.Inc(0xFFFF);

            Assert.Equal(0, result);
            Assert.True(registers.AreFlagsSet(None));
        }
예제 #2
0
        public void When_UshortDecCarry_FlagsUnchanged()
        {
            registers.Reset();
            var result = alu.Dec((ushort)0);

            Assert.Equal(0xFFFF, result);
            Assert.True(registers.AreFlagsSet(None));
        }
예제 #3
0
 public void AreFlagsSetTests_Z()
 {
     registers.Reset();
     registers.F = 1 << 7;
     Assert.True(registers.AreFlagsSet(Z));
     registers.F = 0;
     Assert.False(registers.AreFlagsSet(Z));
 }
예제 #4
0
 public void When_ByteHalfOverFlow_Expect_HalfCarryFlagSet()
 {
     registers.Reset();
     alu.Add((byte)15, (byte)1);
     Assert.True(registers.AreFlagsSet(RegisterFlags.H));
 }
예제 #5
0
 public void When_SubCalled_NflagSet()
 {
     registers.Reset();
     alu.Sub(10, 1);
     Assert.True(registers.AreFlagsSet(RegisterFlags.N));
 }