From 95128a3d6da346ee384cdea77516144efb68670a Mon Sep 17 00:00:00 2001 From: Nguyen Anh Quynh <aquynh@gmail.com> Date: Sun, 22 May 2016 16:36:12 +0800 Subject: [PATCH] regress: add x86_bigimm.py --- suite/regress/x86_bigimm.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 suite/regress/x86_bigimm.py diff --git a/suite/regress/x86_bigimm.py b/suite/regress/x86_bigimm.py new file mode 100755 index 0000000..b3a4fba --- /dev/null +++ b/suite/regress/x86_bigimm.py @@ -0,0 +1,32 @@ +#!/usr/bin/python + +# Test for oversize immediate + +# Github issue: #9 +# Author: Nguyen Anh Quynh + +from keystone import * + +import regress + +CODE1 = b"MOV EAX, DWORD PTR [0xFFFFFFFFF]" +CODE2 = b"MOV EAX, DWORD PTR [0xFFFFFFFF]" + +class TestX86(regress.RegressTest): + def runTest(self): + # Initialize Keystone engine + ks = Ks(KS_ARCH_X86, KS_MODE_32) + + try: + encoding, count = ks.asm(CODE2) + except KsError as e: + if e.errno == KS_ERR_ASM_INVALIDOPERAND: + print("Got error KS_ERR_ASM_INVALIDOPERAND as expected") + else: + self.assertFalse(1, "ERROR: %s" % e) + + encoding, count = ks.asm(CODE2) + self.assertEqual(encoding, [ 0xA1, 0xFF, 0xFF, 0xFF, 0xFF ]) + +if __name__ == '__main__': + regress.main() -- GitLab