Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / mi / parameters / BooleanClassification.java
index abe552f..73acc66 100644 (file)
@@ -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()
        {