X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2FMicroInstruction.java;fp=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2FMicroInstruction.java;h=92e33ebe57b0cd58e3815c598bb0e15f5773cf31;hb=4ba119cab03498736851e6f3f32eec1957839a2e;hp=d88a8efb5858ed611b7df98a8029fb7e413a5b04;hpb=18751c233058925190cf9c1e6bbd1e764f68bf43;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstruction.java b/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstruction.java index d88a8efb..92e33ebe 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstruction.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstruction.java @@ -4,26 +4,28 @@ import net.mograsim.logic.core.types.BitVector; import net.mograsim.machine.mi.parameters.MicroInstructionParameter; import net.mograsim.machine.mi.parameters.Mnemonic; -public interface MicroInstruction { - +public interface MicroInstruction +{ + public MicroInstructionParameter getParameter(int index); + public void setParameter(int index, MicroInstructionParameter param); - + /** * @return The amount of {@link Mnemonic}s, the instruction is composed of */ public int getSize(); - + public static MicroInstruction create(MicroInstructionParameter... parameters) { return new StandardMicroInstruction(parameters); } - + default BitVector toBitVector() { BitVector vector = BitVector.of(); int size = getSize(); - for(int i = 0; i < size; i++) + for (int i = 0; i < size; i++) vector.concat(getParameter(i).getValue()); return vector; }