import java.awt.*; /*********************************************************************** * File: ExtendedControlUnit.java * Aurthor: Dr. Dalton R. Hunkins * Computer Science Department * St. Bonaventure University * Date: November 2008 * * Purpose: * The file is a stub that allows the reader/programmer to extend * the Control Unit within the Data Path Simulator, PathSim, to * handle additional MIPS operators. The extension is accomplished * through adding java code to the method execute. See the lab * instruction comment given below. * * Class Modified by: ***********************************************************************/ class ExtendedControlUnit extends ControlUnit { private DataLine input; private DataLine signal1, signal2, signal3; private DataLine signal4, signal5, signal6; private DataLine signal7, signal8, signal9; private DataPath parent; public ExtendedControlUnit(double x, double y, double w, double h, Color c, String label1, String label2, String name, DataLine input, DataLine signal1, DataLine signal2, DataLine signal3, DataLine signal4, DataLine signal5, DataLine signal6, DataLine signal7, DataLine signal8, DataLine signal9, DataPath parent) { super(x, y, w, h, c, label1, label2, name, input, signal1, signal2, signal3, signal4, signal5, signal6, signal7, signal8, signal9); this.input = input; this.signal1 = signal1; // RegDist this.signal2 = signal2; // Jump this.signal3 = signal3; // Branch this.signal4 = signal4; // MemRead this.signal5 = signal5; // MemToReg this.signal6 = signal6; // ALUop this.signal7 = signal7; // MemWrite this.signal8 = signal8; // ALUsrc this.signal9 = signal9; // RegWrite this.parent = parent; } public void executeAdd(){} public void executePart1() {} public void executePart2(){} public void execute() { int opCode = (int) hexStringToUnsigned(input.getValue()); /***************************************************************** INSTRUCTIONS FOR LAB B This lab does NOT require any changes to this method. *********************************************************************/ super.execute(); } }