Fleshed out Memory and Microprogramming interfaces
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / mi / StandardMicroInstruction.java
diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/StandardMicroInstruction.java b/net.mograsim.machine/src/net/mograsim/machine/mi/StandardMicroInstruction.java
new file mode 100644 (file)
index 0000000..e40350d
--- /dev/null
@@ -0,0 +1,38 @@
+package net.mograsim.machine.mi;
+
+import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
+
+class StandardMicroInstruction implements MicroInstruction
+{
+       private MicroInstructionParameter[] parameters;
+
+       StandardMicroInstruction(MicroInstructionParameter... parameters)
+       {
+               this.parameters = parameters;
+       }
+       
+       /**
+        * @throws IndexOutOfBoundsException
+        */
+       @Override
+       public MicroInstructionParameter getParameter(int index)
+       {
+               return parameters[index];
+       }
+
+       @Override
+       public int getSize()
+       {
+               return parameters.length;
+       }
+
+       /**
+        * @throws IndexOutOfBoundsException
+        */
+       @Override
+       public void setParameter(int index, MicroInstructionParameter param)
+       {
+               parameters[index] = param;
+       }
+
+}