Fixed NEG emulation - make sure flags are set.

pull/52/head
Andrei Vlad LUTAS 3 years ago
parent f6050661d5
commit c8735b437a

@ -2226,9 +2226,14 @@ ShemuEmulate(
break;
case ND_INS_NEG:
GET_OP(Context, 0, &dst);
dst.Value.Qwords[0] = 0 - dst.Value.Qwords[0];
SET_OP(Context, 0, &dst);
GET_OP(Context, 0, &src);
dst.Size = src.Size;
dst.Value.Qwords[0] = 0;
res.Size = src.Size;
res.Value.Qwords[0] = dst.Value.Qwords[0] - src.Value.Qwords[0];
SET_OP(Context, 0, &res);
SET_FLAGS(Context, res, dst, src, FM_SUB);
SET_FLAG(Context, NDR_RFLAG_CF, src.Value.Qwords[0] != 0);
break;
case ND_INS_BT:

Binary file not shown.

@ -7,6 +7,6 @@
#define DISASM_VERSION_MAJOR 1
#define DISASM_VERSION_MINOR 34
#define DISASM_VERSION_REVISION 0
#define DISASM_VERSION_REVISION 1
#endif // DISASM_VER_H

@ -12,7 +12,7 @@ from setuptools import find_packages, setup, Command, Extension, Distribution
from codecs import open
VERSION = (0, 1, 3)
LIBRARY_VERSION = (1, 34, 0)
LIBRARY_VERSION = (1, 34, 1)
LIBRARY_INSTRUX_SIZE = 864
packages = ['pybddisasm']

Loading…
Cancel
Save