コード例 #1
0
ファイル: Instructions.cs プロジェクト: sayaPintar/PurpleMoon
 public static bool F_RET()
 {
     CPU.MoveProgramCounter(CPU.PopStack());
     // skips the call fuction it goes back to
     CPU.StepProgramCounter(I_CALL.Arguments);
     return(true);
 }
コード例 #2
0
ファイル: Instructions.cs プロジェクト: sayaPintar/PurpleMoon
        public static bool F_JUMP()
        {
            byte left  = Memory.Read((ushort)(CPU.ProgCtr + 1));
            byte right = Memory.Read((ushort)(CPU.ProgCtr + 2));

            CPU.MoveProgramCounter(BytesToAddress(left, right));
            return(true);
        }
コード例 #3
0
ファイル: Instructions.cs プロジェクト: sayaPintar/PurpleMoon
        public static bool F_CALLI()
        {
            byte left  = Memory.Read((ushort)(CPU.ProgCtr + 1));
            byte right = Memory.Read((ushort)(CPU.ProgCtr + 2));

            CPU.PushStack(CPU.ProgCtr);
            CPU.MoveProgramCounter(CPU.I);
            return(true);
        }
コード例 #4
0
ファイル: Instructions.cs プロジェクト: sayaPintar/PurpleMoon
 public static bool F_JUMPI()
 {
     CPU.MoveProgramCounter(CPU.I);
     return(true);
 }