about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorgg <gg@quarkslab.com>2015-02-20 18:28:07 +0100
committergg <gg@quarkslab.com>2015-02-20 18:28:07 +0100
commitae4b4b7e169a619bf63b3dd62f6ff7e0ce5ed2a3 (patch)
tree0c5caea0dabaa1dbf5db5e36d847bca07111a458
parent4c98ab9bd9e51c38ea74d8c83a669f3f50f2781e (diff)
downloadmiasm-ae4b4b7e169a619bf63b3dd62f6ff7e0ce5ed2a3.tar.gz
miasm-ae4b4b7e169a619bf63b3dd62f6ff7e0ce5ed2a3.zip
Fixed POPFW instruction
-rw-r--r--miasm2/arch/x86/sem.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py
index 928554cb..2f29506d 100644
--- a/miasm2/arch/x86/sem.py
+++ b/miasm2/arch/x86/sem.py
@@ -970,7 +970,7 @@ def popfd(ir, instr):
 
 
 def popfw(ir, instr):
-    tmp = m2_expr.ExprMem(esp)
+    tmp = m2_expr.ExprMem(mRSP[instr.mode])
     e = []
     e.append(m2_expr.ExprAff(cf, m2_expr.ExprSlice(tmp, 0, 1)))
     e.append(m2_expr.ExprAff(pf, m2_expr.ExprSlice(tmp, 2, 3)))
@@ -983,7 +983,7 @@ def popfw(ir, instr):
     e.append(m2_expr.ExprAff(of, m2_expr.ExprSlice(tmp, 11, 12)))
     e.append(m2_expr.ExprAff(iopl, m2_expr.ExprSlice(tmp, 12, 14)))
     e.append(m2_expr.ExprAff(nt, m2_expr.ExprSlice(tmp, 14, 15)))
-    e.append(m2_expr.ExprAff(esp, esp + m2_expr.ExprInt32(2)))
+    e.append(m2_expr.ExprAff(mRSP[instr.mode], mRSP[instr.mode] + m2_expr.ExprInt32(2)))
     return e, []