about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm/arch/ia32_arch.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/miasm/arch/ia32_arch.py b/miasm/arch/ia32_arch.py
index 84ab02cd..3c1906a2 100644
--- a/miasm/arch/ia32_arch.py
+++ b/miasm/arch/ia32_arch.py
@@ -1384,7 +1384,7 @@ class x86_mn:
             return []
         a = self.arg[0]
         if is_imm(a) and not x86_afs.symb in a:
-            dst = (self.offset+self.l+a[x86_afs.imm])&tab_max_uint[self.admode]
+            dst = (self.offset+self.l+a[x86_afs.imm])&tab_max_uint[self.opmode]
             out = [dst]
         else:
             out = [a]
@@ -2286,6 +2286,14 @@ if __name__ == '__main__':
     test_out = []
     log.setLevel(logging.DEBUG)
 
+    instr = x86mnemo.dis('67e1fa'.replace(' ', '').decode('hex'))
+    print instr
+    print instr.arg
+    print instr.l
+    print instr.opmode, instr.admode
+    fds
+
+
     instr = x86mnemo.dis('0fa9'.replace(' ', '').decode('hex'),
                          admode=x86_afs.u16,
                          opmode=x86_afs.u16)