private void Exec(TicTok tictok) { var cw = SEQ.Instance().ControlWord; // Active Low, Push on Tic (Was CE_ didnt make sense i prefer Enable RAM) if (string.Equals(cw["EM_"], "0", StringComparison.Ordinal) && tictok.ClockState == TicTok.State.Tic) { RegContent = GetWordAt(MARContents); } }
private void Exec(TicTok tictok) { var cw = SEQ.Instance().ControlWord; // Active Low, Pull on Tok if (string.Equals(cw["LO_"], "0", StringComparison.Ordinal) && tictok.ClockState == TicTok.State.Tok) { int value = Convert.ToInt16(outputReg.RegContent, 2); RegContent = value.ToString("X2"); } }
//************************************************************************************************************************ private void Exec(TicTok tictok) { var cw = SEQ.Instance().ControlWord; bool result = Enum.TryParse(Convert.ToInt32(cw["ALU"], 2).ToString(), out ALUOPType action); if (!result) { throw new Exception("ALU Operation not supported!"); } //ALU is always working. Never gets a break! RegContent = Compute(Areg.ToString(), Treg.ToString(), action); // Active Hi, Push on Tic if (string.Equals(cw["EU"], "1", StringComparison.Ordinal) && tictok.ClockState == TicTok.State.Tic) { Multiplexer.Instance().PassThroughToBus(RegContent, Convert.ToBoolean(Convert.ToInt16(cw["UB"])), Convert.ToBoolean(Convert.ToInt16(cw["CLR"]))); } }