1 package net.mograsim.machine.mi;
3 import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
4 import net.mograsim.machine.mi.parameters.ParameterClassification;
6 public interface MicroInstructionDefinition
9 * @return The {@link ParameterClassification}s of which a MicroInstruction is composed.
11 public ParameterClassification[] getParameterClassifications();
14 * @throws IndexOutOfBoundsException
16 public ParameterClassification getParameterClassification(int index);
20 * @return The amount of {@link MicroInstructionParameter}s in a {@link MicroInstruction} that follows this definition.
22 public default int size()
24 return getParameterClassifications().length;
27 public static MicroInstructionDefinition create(ParameterClassification... classes)
29 return new StandardMicroInstructionDefinition(classes);