diff --git a/register.py b/register.py index c75a863..afb04b1 100644 --- a/register.py +++ b/register.py @@ -27,6 +27,12 @@ class Register: def get(self): return self.value + def get_signed(self): + if self.value & (1 << (self.n_bits - 1)) == 0: + return self.value + else: + return self.value - (1 << self.n_bits) + def complement(self): self.value = self.value ^ ((1 << self.n_bits) - 1)