/// <summary> /// Causes the buffer to push all the data to the next stage. Needs the target buffer to work. /// </summary> /// <param name="Next"></param> public void Flush(ExecuteMEMBuffer Next) { Next.Instr = this.Instr; Next.PCBranch = this.PCBranch; Next.Zero = this.Zero; Array.Copy(this.ALUResult, Next.ALUResult, 4); Array.Copy(this.ReadData2, Next.ReadData2, 4); Next.DEST = this.DEST; Next.vector = this.vector; }
/// <summary> /// Passes ReadData2 and Control Vector /// </summary> /// <param name="buff"></param> public void Pass(ExecuteMEMBuffer buff) { buff.Instr = this.Instr; Array.Copy(this.ReadData2, buff.ReadData2, 4); buff.vector = this.vector; }