X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2FMicroInstructionDefinition.java;fp=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2FMicroInstructionDefinition.java;h=6625fa666464f5bd235b42800634994a13d2936b;hb=fe3e478c3bb76e0c554e2ed01adcc2c65989a8ee;hp=5221e3e9a896debf76031c5cf7eca998e1dafc5f;hpb=9c98bb5456a7ead6d92fcc6acd9d1497688b244d;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstructionDefinition.java b/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstructionDefinition.java index 5221e3e9..6625fa66 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstructionDefinition.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/MicroInstructionDefinition.java @@ -1,15 +1,10 @@ package net.mograsim.machine.mi; -import java.math.BigInteger; import java.util.Arrays; import java.util.Optional; import net.mograsim.logic.core.types.Bit; -import net.mograsim.machine.mi.parameters.IntegerClassification; -import net.mograsim.machine.mi.parameters.IntegerImmediate; import net.mograsim.machine.mi.parameters.MicroInstructionParameter; -import net.mograsim.machine.mi.parameters.MicroInstructionParameter.ParameterType; -import net.mograsim.machine.mi.parameters.MnemonicFamily; import net.mograsim.machine.mi.parameters.ParameterClassification; public interface MicroInstructionDefinition @@ -47,22 +42,8 @@ public interface MicroInstructionDefinition ParameterClassification[] classes = getParameterClassifications(); for (int i = 0; i < size; i++) { - MicroInstructionParameter newParam; ParameterClassification classification = classes[i]; - ParameterType type = classification.getExpectedType(); - switch (type) - { - case BOOLEAN_IMMEDIATE: - case MNEMONIC: - newParam = ((MnemonicFamily) classification).get(0); - break; - case INTEGER_IMMEDIATE: - newParam = new IntegerImmediate(BigInteger.valueOf(0), ((IntegerClassification) classification).getExpectedBits()); - break; - default: - throw new IllegalStateException("Unknown ParameterType " + type); - } - params[i] = newParam; + params[i] = classification.getDefault(); } return new StandardMicroInstruction(updateCallback, params); }