/// <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(DecodeExecuteBuffer Next) { Next.Instr = this.Instr; Next.PC4 = this.PC4; Array.Copy(this.ReadData1, Next.ReadData1, 4); Array.Copy(this.ReadData2, Next.ReadData2, 4); Array.Copy(this.OFFSET, Next.OFFSET, 4); Next.RT = this.RT; Next.RD = this.RD; Next.vector = this.vector; }
/// <summary> /// Passes relevant information from the side of this buffer which is /// in the Decode stage to the Decode/Execute sandwich buffer. /// </summary> /// <param name="buff"></param> public void Pass(DecodeExecuteBuffer buff) { buff.Instr = this.Instr; buff.PC4 = this.PC4; }