Example #1
0
        /// <summary>
        /// Displays the Execute information
        /// </summary>
        /// <param name="DecodeBufferR"></param>
        /// <param name="ExecuteBufferL"></param>
        internal void ExecuteDisplay(ref DecodeExecuteBuffer DecodeBufferR, ref ExecuteMEMBuffer ExecuteBufferL)
        {
            int labelWidth = 12; int dataWidth = 16;

            int offsetX = 21, offsetY = 24;

            Console.SetCursorPosition(offsetX, offsetY + 2);
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", string.Empty.PadLeft(labelWidth, ' '), stage[2].PadLeft(dataWidth - ((dataWidth - stage[2].Length) / 2), ' ').PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", "Semantics".PadRight(labelWidth, ' '), DecodeBufferR.Instr.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUOp0".PadRight(labelWidth, ' '), DecodeBufferR.vector.ALUOp0.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUOp1".PadRight(labelWidth, ' '), DecodeBufferR.vector.ALUOp1.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUresult".PadRight(labelWidth, ' '), BitConverter.ToInt32(ExecuteBufferL.ALUResult, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUzero".PadRight(labelWidth, ' '), ExecuteBufferL.Zero.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ALUSrc".PadRight(labelWidth, ' '), DecodeBufferR.vector.ALUSrc.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "OFFSET".PadRight(labelWidth, ' '), BitConverter.ToInt32(DecodeBufferR.OFFSET, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadData1".PadRight(labelWidth, ' '), BitConverter.ToInt32(DecodeBufferR.ReadData1, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadData2".PadRight(labelWidth, ' '), BitConverter.ToInt32(DecodeBufferR.ReadData2, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "PC4".PadRight(labelWidth, ' '), DecodeBufferR.PC4.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "PCBranch".PadRight(labelWidth, ' '), ExecuteBufferL.PCBranch.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RegDst".PadRight(labelWidth, ' '), DecodeBufferR.vector.RegDst.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RT".PadRight(labelWidth, ' '), DecodeBufferR.RT.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RD".PadRight(labelWidth, ' '), DecodeBufferR.RD.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.SetCursorPosition(0, 0);
        }
Example #2
0
        /// <summary>
        /// Displays the Decode information
        /// </summary>
        /// <param name="FetchBufferR"></param>
        /// <param name="DecodeBufferL"></param>
        /// <param name="RegWrite"></param>
        internal void DecodeDisplay(ref FetchDecodeBuffer FetchBufferR, ref DecodeExecuteBuffer DecodeBufferL, bool RegWrite)
        {
            int labelWidth = 12; int dataWidth = 16;

            int offsetX = 21, offsetY = 8;

            Console.SetCursorPosition(offsetX, offsetY + 2);
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", string.Empty.PadLeft(labelWidth, ' '), stage[1].PadLeft(dataWidth - ((dataWidth - stage[1].Length) / 2), ' ').PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.Write(string.Format("||{0}||{1}||", "Semantics".PadRight(labelWidth, ' '), FetchBufferR.Instr.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "OpCode".PadRight(labelWidth, ' '), FetchBufferR.Instr.OpCode.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RS".PadRight(labelWidth, ' '), FetchBufferR.Instr.RS.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RT".PadRight(labelWidth, ' '), FetchBufferR.Instr.RT.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RD".PadRight(labelWidth, ' '), FetchBufferR.Instr.RD.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "FUNCT".PadRight(labelWidth, ' '), FetchBufferR.Instr.FUNCT.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "OFFSET".PadRight(labelWidth, ' '), FetchBufferR.Instr.OFFSET.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadData1".PadRight(labelWidth, ' '), BitConverter.ToInt32(REG.ReadData1, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "ReadData2".PadRight(labelWidth, ' '), BitConverter.ToInt32(REG.ReadData2, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "WriteRgster".PadRight(labelWidth, ' '), REG.WriteRegister.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "WriteData".PadRight(labelWidth, ' '), BitConverter.ToInt32(REG.WriteData, 0).ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("||{0}||{1}||", "RegWrite".PadRight(labelWidth, ' '), RegWrite.ToString().PadRight(dataWidth, ' ')));
            Console.CursorLeft = offsetX; Console.CursorTop += 1;
            Console.Write(string.Format("=={0}=={1}==", string.Empty.PadLeft(labelWidth, '='), string.Empty.PadLeft(dataWidth, '=')));
            Console.CursorTop += 1; Console.CursorLeft = offsetX;
            Console.SetCursorPosition(0, 0);
        }