X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FBooleanClassification.java;fp=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FBooleanClassification.java;h=73acc66132ba53af083a6f9236c0a74296ab7e54;hb=7d05144c25daa53e60fc9ed9fd503546a86567f8;hp=0000000000000000000000000000000000000000;hpb=8bed58cd47f4e53a0a83e066d38864aa6875502f;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java new file mode 100644 index 00000000..73acc661 --- /dev/null +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanClassification.java @@ -0,0 +1,34 @@ +package net.mograsim.machine.mi.parameters; + +import net.mograsim.logic.core.types.BitVector; +import net.mograsim.machine.mi.parameters.MicroInstructionParameter.ParameterType; + +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() + { + return ParameterType.BOOLEAN_IMMEDIATE; + } + + @Override + public int getExpectedBits() + { + return 1; + } +}