X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FBooleanClassification.java;h=73acc66132ba53af083a6f9236c0a74296ab7e54;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=1689cffbf93170de68cd4d69b5aa54a1bb748406;hpb=97fd4dc20d7db4f5b3d162f56910df4fc56b7871;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java index 1689cffb..73acc661 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java @@ -1,9 +1,25 @@ package net.mograsim.machine.mi.parameters; +import net.mograsim.logic.core.types.BitVector; import net.mograsim.machine.mi.parameters.MicroInstructionParameter.ParameterType; -public class BooleanClassification implements ParameterClassification +public class BooleanClassification extends MnemonicFamily { + String trueName, falseName; + + public BooleanClassification(boolean defaultValue, String trueName, String falseName) + { + super(defaultValue ? trueName : falseName, new MnemonicPair(trueName, BitVector.SINGLE_1), + new MnemonicPair(falseName, BitVector.SINGLE_0)); + this.trueName = trueName; + this.falseName = falseName; + } + + public Mnemonic get(boolean value) + { + return get(value ? trueName : falseName); + } + @Override public ParameterType getExpectedType() { @@ -15,10 +31,4 @@ public class BooleanClassification implements ParameterClassification { return 1; } - - @Override - public BooleanImmediate parse(String toParse) - { - return new BooleanImmediate("H".equals(toParse)); - } }