Merge branch 'development' of
[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         public BooleanClassification(String trueName, String falseName)
10         {
11                 super(new MnemonicPair(trueName, BitVector.SINGLE_1), new MnemonicPair(falseName, BitVector.SINGLE_0));
12                 this.trueName = trueName;
13                 this.falseName = falseName;
14         }
15         
16         public Mnemonic get(boolean value)
17         {
18                 return get(value ? trueName : falseName);
19         }
20         
21         @Override
22         public ParameterType getExpectedType()
23         {
24                 return ParameterType.BOOLEAN_IMMEDIATE;
25         }
26
27         @Override
28         public int getExpectedBits()
29         {
30                 return 1;
31         }
32 }