From 7e6566bd4a78bd2692a02578d3c716d6eb7b97db Mon Sep 17 00:00:00 2001 From: Fabian Stemmler Date: Thu, 29 Aug 2019 13:52:26 +0200 Subject: [PATCH] Boolean and IntegerImmediates can be accessed as boolean/BigInteger now --- .../machine/mi/parameters/BooleanImmediate.java | 11 ++++++++++- .../machine/mi/parameters/IntegerImmediate.java | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanImmediate.java b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanImmediate.java index 7ed60fde..3d08840f 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanImmediate.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/BooleanImmediate.java @@ -16,6 +16,11 @@ public class BooleanImmediate implements MicroInstructionParameter { return value ? BitVector.SINGLE_1 : BitVector.SINGLE_0; } + + public boolean getBooleanValue() + { + return value; + } @Override public ParameterType getType() @@ -47,5 +52,9 @@ public class BooleanImmediate implements MicroInstructionParameter return true; } - + @Override + public String toString() + { + return value ? "H" : "L"; + } } diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/IntegerImmediate.java b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/IntegerImmediate.java index e6f5f762..0a83121c 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/IntegerImmediate.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/IntegerImmediate.java @@ -57,4 +57,18 @@ public final class IntegerImmediate implements MicroInstructionParameter return false; return true; } + + /** + * @return The value of this IntegerImmediate as an unsigned BigInteger + */ + public BigInteger getValueAsBigInteger() + { + return value.getUnsignedValue(); + } + + @Override + public String toString() + { + return getValueAsBigInteger().toString(); + } } -- 2.17.1