diff options
Diffstat (limited to '')
| -rw-r--r-- | miasm2/arch/x86/arch.py | 6 | ||||
| -rw-r--r-- | miasm2/core/cpu.py | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/miasm2/arch/x86/arch.py b/miasm2/arch/x86/arch.py index 29303fdf..be3dbd94 100644 --- a/miasm2/arch/x86/arch.py +++ b/miasm2/arch/x86/arch.py @@ -1065,10 +1065,12 @@ class x86_imm_fix_08(imm_noarg): def decodeval(self, v): return self.ival - def encodeval(self, v): + def encode(self): + v = self.expr2int(self.expr) if v != self.ival: return False - return self.ival + self.value = 0 + return True class x86_08(x86_imm): diff --git a/miasm2/core/cpu.py b/miasm2/core/cpu.py index ffda5f3a..2d455294 100644 --- a/miasm2/core/cpu.py +++ b/miasm2/core/cpu.py @@ -431,13 +431,14 @@ class bs(object): self.cls = cls self.fname = fname self.order = order - self.lmask = lmask self.fbits = fbits self.fmask = fmask self.flen = flen self.value = value self.kargs = kargs + lmask = property(lambda self:(1 << self.l) - 1) + def __getitem__(self, item): return getattr(self, item) @@ -502,7 +503,6 @@ class bsi(object): self.cls = cls self.fname = fname self.order = order - self.lmask = lmask self.fbits = fbits self.fmask = fmask self.flen = flen @@ -510,6 +510,8 @@ class bsi(object): self.kargs = kargs self.__dict__.update(self.kargs) + lmask = property(lambda self:(1 << self.l) - 1) + def decode(self, v): self.value = v & self.lmask return True |