Exemple #1
0
 public virtual void TestFlags()
 {
     cpu.SetSR(0x27ff);
     Assert.True(cpu.IsFlagSet(cpu.CFlag));
     Assert.True(cpu.IsFlagSet(cpu.VFlag));
     Assert.True(cpu.IsFlagSet(cpu.ZFlag));
     Assert.True(cpu.IsFlagSet(cpu.NFlag));
     Assert.True(cpu.IsFlagSet(cpu.XFlag));
     Assert.True(cpu.IsSupervisorMode());
     Assert.Equal(7, cpu.GetInterruptLevel());
     cpu.SetSR(0);
     Assert.False(cpu.IsFlagSet(cpu.CFlag));
     Assert.False(cpu.IsFlagSet(cpu.VFlag));
     Assert.False(cpu.IsFlagSet(cpu.ZFlag));
     Assert.False(cpu.IsFlagSet(cpu.NFlag));
     Assert.False(cpu.IsFlagSet(cpu.XFlag));
     Assert.False(cpu.IsSupervisorMode());
     Assert.Equal(0, cpu.GetInterruptLevel());
     cpu.SetCCRegister(cpu.CFlag);
     Assert.True(cpu.IsFlagSet(cpu.CFlag));
     Assert.False(cpu.IsFlagSet(cpu.VFlag));
     Assert.False(cpu.IsFlagSet(cpu.ZFlag));
     Assert.False(cpu.IsFlagSet(cpu.NFlag));
     Assert.False(cpu.IsFlagSet(cpu.XFlag));
     Assert.False(cpu.IsSupervisorMode());
     Assert.Equal(0, cpu.GetInterruptLevel());
     cpu.SetCCRegister(cpu.VFlag);
     Assert.False(cpu.IsFlagSet(cpu.CFlag));
     Assert.True(cpu.IsFlagSet(cpu.VFlag));
     Assert.False(cpu.IsFlagSet(cpu.ZFlag));
     Assert.False(cpu.IsFlagSet(cpu.NFlag));
     Assert.False(cpu.IsFlagSet(cpu.XFlag));
     Assert.False(cpu.IsSupervisorMode());
     Assert.Equal(0, cpu.GetInterruptLevel());
     cpu.SetCCRegister(cpu.ZFlag);
     Assert.False(cpu.IsFlagSet(cpu.CFlag));
     Assert.False(cpu.IsFlagSet(cpu.VFlag));
     Assert.True(cpu.IsFlagSet(cpu.ZFlag));
     Assert.False(cpu.IsFlagSet(cpu.NFlag));
     Assert.False(cpu.IsFlagSet(cpu.XFlag));
     Assert.False(cpu.IsSupervisorMode());
     Assert.Equal(0, cpu.GetInterruptLevel());
     cpu.SetCCRegister(cpu.NFlag);
     Assert.False(cpu.IsFlagSet(cpu.CFlag));
     Assert.False(cpu.IsFlagSet(cpu.VFlag));
     Assert.False(cpu.IsFlagSet(cpu.ZFlag));
     Assert.True(cpu.IsFlagSet(cpu.NFlag));
     Assert.False(cpu.IsFlagSet(cpu.XFlag));
     Assert.False(cpu.IsSupervisorMode());
     Assert.Equal(0, cpu.GetInterruptLevel());
     cpu.SetCCRegister(cpu.XFlag);
     Assert.False(cpu.IsFlagSet(cpu.CFlag));
     Assert.False(cpu.IsFlagSet(cpu.VFlag));
     Assert.False(cpu.IsFlagSet(cpu.ZFlag));
     Assert.False(cpu.IsFlagSet(cpu.NFlag));
     Assert.True(cpu.IsFlagSet(cpu.XFlag));
     Assert.False(cpu.IsSupervisorMode());
     Assert.Equal(0, cpu.GetInterruptLevel());
 }