1 package net.mograsim.machine.mi;
3 import net.mograsim.logic.core.types.BitVector;
4 import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
5 import net.mograsim.machine.mi.parameters.Mnemonic;
7 public interface MicroInstruction {
9 public MicroInstructionParameter getParameter(int index);
10 public void setParameter(int index, MicroInstructionParameter param);
13 * @return The amount of {@link Mnemonic}s, the instruction is composed of
17 public static MicroInstruction create(MicroInstructionParameter... parameters)
19 return new StandardMicroInstruction(parameters);
22 default BitVector toBitVector()
24 BitVector vector = BitVector.of();
26 for(int i = 0; i < size; i++)
27 vector.concat(getParameter(i).getValue());