about summary refs log tree commit diff stats
path: root/miasm2/arch/x86/sem.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2015-02-09 15:56:01 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2015-02-10 10:47:01 +0100
commitd4f805ed81b3c10c6a7ceca0db60f1f6b4e7a63b (patch)
treea4a9d9a032b2d177bba933e6184ede1fff1c3370 /miasm2/arch/x86/sem.py
parenta3900fe1a46b585771a576478ce47bc94e35537f (diff)
downloadmiasm-d4f805ed81b3c10c6a7ceca0db60f1f6b4e7a63b.tar.gz
miasm-d4f805ed81b3c10c6a7ceca0db60f1f6b4e7a63b.zip
Arch/X86: fix fsntenv in 64bit
Diffstat (limited to '')
-rw-r--r--miasm2/arch/x86/sem.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py
index 22e8c276..fefd484d 100644
--- a/miasm2/arch/x86/sem.py
+++ b/miasm2/arch/x86/sem.py
@@ -2003,6 +2003,9 @@ def fnstenv(ir, instr, a):
                                ])
 
     s = instr.mode
+    # The behaviour in 64bit is identical to 64 bit
+    # This will truncate addresses
+    s = min(32, s)
     ad = ExprMem(a.arg, size=16)
     e.append(ExprAff(ad, float_control))
     ad = ExprMem(a.arg + ExprInt_from(a.arg, s / 8 * 1), size=16)