CSPspEmu.Core.Cpu.CpuThreadState.ExecuteAT C# (CSharp) Method

ExecuteAT() public method

public ExecuteAT ( uint PC ) : void
PC uint
return void
        public void ExecuteAT(uint PC)
        {
            try
            {
                RA = SpecialCpu.ReturnFromFunction;
                MethodCache.GetForPC(this.PC).CallDelegate(this);
            }
            catch (SpecialCpu.ReturnFromFunctionException)
            {
            }
        }

Usage Example

Example #1
0
        public void ExecuteQueued(CpuThreadState BaseCpuThreadState)
        {
            if (Enabled)
            {
                HleCallback[] HleCallbackListCopy;
                lock (HleCallbackList)
                {
                    HleCallbackListCopy = HleCallbackList.ToArray();
                    HleCallbackList.Clear();
                    Flag = false;
                }

                foreach (var HleCallback in HleCallbackListCopy)
                {
                    var FakeCpuThreadState = new CpuThreadState(CpuProcessor);
                    FakeCpuThreadState.CopyRegistersFrom(BaseCpuThreadState);
                    HleCallback.SetArgumentsToCpuThreadState(FakeCpuThreadState);

                    FakeCpuThreadState.EnableYielding = false;
                    FakeCpuThreadState.ExecuteAT(FakeCpuThreadState.PC);
                    //HleInterop.Execute(FakeCpuThreadState);
                    //Console.Error.WriteLine("Execute queued");

                    // Execute just one!
                    //break;
                }
            }
        }