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