Esempio n. 1
0
 public static void Restore(RegisterBase reg)
 {
     if (reg is RegisterA)
     {
         CPU6502.PLA();
         A.State.Pop();
     }
     else if (reg is RegisterX)
     {
         CPU6502.PLA();
         X.Set(A);
         X.State.Pop();
     }
     else if (reg is RegisterY)
     {
         CPU6502.PLA();
         Y.Set(A);
         Y.State.Pop();
     }
 }
Esempio n. 2
0
 public static void Restore(Register registers = Register.All, bool statusFlags = false)
 {
     if (registers.HasFlag(Register.Y))
     {
         CPU6502.PLA();
         Y.Set(A);
         Y.State.Pop();
     }
     if (registers.HasFlag(Register.X))
     {
         CPU6502.PLA();
         X.Set(A);
         X.State.Pop();
     }
     if (registers.HasFlag(Register.A))
     {
         CPU6502.PLA();
         A.State.Pop();
     }
     if (statusFlags)
     {
         CPU6502.PLP();
     }
 }
Esempio n. 3
0
 public static void Pop(Address addr)
 {
     CPU6502.PLA();
     addr.Set(A);
 }