Exemple #1
0
        public unsafe void CopyRegistersFrom(CpuThreadState that)
        {
            this.PC         = that.PC;
            this.BranchFlag = that.BranchFlag;
            this.Fcr31      = that.Fcr31;
            this.IC         = that.IC;
            this.LO         = that.LO;
            this.HI         = that.HI;
            fixed(float *ThisFPR = &this.FPR0)
            fixed(float *ThatFPR = &that.FPR0)
            fixed(uint *ThisGPR  = &this.GPR0)
            fixed(uint *ThatGPR  = &that.GPR0)
            {
                for (int n = 0; n < 32; n++)
                {
                    ThisFPR[n] = ThatFPR[n];
                    ThisGPR[n] = ThatGPR[n];
                }
            }

            fixed(float *ThisVFR = &this.VFR0)
            fixed(float *ThatVFR = &that.VFR0)
            {
                for (int n = 0; n < 128; n++)
                {
                    ThisVFR[n] = ThatVFR[n];
                }
            }
        }
Exemple #2
0
        public unsafe void CopyRegistersFrom(CpuThreadState that)
        {
            this.PC = that.PC;
            this.BranchFlag = that.BranchFlag;
            this.Fcr31 = that.Fcr31;
            this.IC = that.IC;
            this.LO = that.LO;
            this.HI = that.HI;
            fixed (float* ThisFPR = &this.FPR0)
            fixed (float* ThatFPR = &that.FPR0)
            fixed (uint* ThisGPR = &this.GPR0)
            fixed (uint* ThatGPR = &that.GPR0)
            {
                for (int n = 0; n < 32; n++)
                {
                    ThisFPR[n] = ThatFPR[n];
                    ThisGPR[n] = ThatGPR[n];
                }
            }

            fixed (float* ThisVFR = &this.VFR0)
            fixed (float* ThatVFR = &that.VFR0)
            {
                for (int n = 0; n < 128; n++)
                {
                    ThisVFR[n] = ThatVFR[n];
                }
            }
        }