Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / mi / parameters / BooleanClassification.java
1 package net.mograsim.machine.mi.parameters;
2
3 import net.mograsim.logic.core.types.BitVector;
4 import net.mograsim.machine.mi.parameters.MicroInstructionParameter.ParameterType;
5
6 public class BooleanClassification extends MnemonicFamily
7 {
8         String trueName, falseName;
9
10         public BooleanClassification(boolean defaultValue, String trueName, String falseName)
11         {
12                 super(defaultValue ? trueName : falseName, new MnemonicPair(trueName, BitVector.SINGLE_1),
13                                 new MnemonicPair(falseName, BitVector.SINGLE_0));
14                 this.trueName = trueName;
15                 this.falseName = falseName;
16         }
17
18         public Mnemonic get(boolean value)
19         {
20                 return get(value ? trueName : falseName);
21         }
22
23         @Override
24         public ParameterType getExpectedType()
25         {
26                 return ParameterType.BOOLEAN_IMMEDIATE;
27         }
28
29         @Override
30         public int getExpectedBits()
31         {
32                 return 1;
33         }
34 }