Exemplo n.º 1
0
 public static void Backup(Register registers = Register.All, bool statusFlags = false)
 {
     if (statusFlags)
     {
         CPU6502.PHP();
     }
     if (registers.HasFlag(Register.A))
     {
         CPU6502.PHA();
         A.State.Push();
     }
     if (registers.HasFlag(Register.X))
     {
         CPU6502.TXA();
         //Use(Asm.TXA);
         CPU6502.PHA();
         X.State.Push();
     }
     if (registers.HasFlag(Register.Y))
     {
         CPU6502.TYA();
         //Use(Asm.TYA);
         CPU6502.PHA();
         Y.State.Push();
     }
 }
Exemplo n.º 2
0
 public static void Backup(RegisterBase reg)
 {
     if (reg is RegisterA)
     {
         CPU6502.PHA();
         A.State.Push();
     }
     else if (reg is RegisterX)
     {
         CPU6502.TXA();
         //Use(Asm.TXA);
         CPU6502.PHA();
         X.State.Push();
     }
     else if (reg is RegisterY)
     {
         CPU6502.TYA();
         //Use(Asm.TYA);
         CPU6502.PHA();
         Y.State.Push();
     }
 }
Exemplo n.º 3
0
 public static void Push(Address addr)
 {
     A.Set(addr);
     CPU6502.PHA();
 }