diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2015-11-14 18:45:19 +0100 |
|---|---|---|
| committer | serpilliere <serpilliere@users.noreply.github.com> | 2015-11-14 18:45:19 +0100 |
| commit | d7316f0e60be635f6c3451b83f47f0c0b79a3721 (patch) | |
| tree | e3c278444b86b0d6250792dee43b618d2f61c865 /miasm2/expression | |
| parent | 00f568729a938465f83c8c73fe49462779673222 (diff) | |
| parent | 8ae102ba0fd8231c9d491a308144b0dd5424e0df (diff) | |
| download | miasm-d7316f0e60be635f6c3451b83f47f0c0b79a3721.tar.gz miasm-d7316f0e60be635f6c3451b83f47f0c0b79a3721.zip | |
Merge pull request #267 from commial/fix-sem-x86
Fix sem x86
Diffstat (limited to 'miasm2/expression')
| -rw-r--r-- | miasm2/expression/simplifications_common.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/miasm2/expression/simplifications_common.py b/miasm2/expression/simplifications_common.py index d50e81a1..fe69d0b9 100644 --- a/miasm2/expression/simplifications_common.py +++ b/miasm2/expression/simplifications_common.py @@ -45,10 +45,11 @@ def simp_cst_propagation(e_s, e): x2 = mod_size2int[i2.arg.size](i2.arg) o = mod_size2uint[i1.arg.size](x1 >> x2) elif op == '>>>': - rounds = i2.arg - o = i1.arg >> i2.arg | i1.arg << (i1.size - i2.arg) + o = (i1.arg >> (i2.arg % i2.size) | + i1.arg << ((i1.size - i2.arg) % i2.size)) elif op == '<<<': - o = i1.arg << i2.arg | i1.arg >> (i1.size - i2.arg) + o = (i1.arg << (i2.arg % i2.size) | + i1.arg >> ((i1.size - i2.arg) % i2.size)) elif op == '/': o = i1.arg / i2.arg elif op == '%': |