about summary refs log tree commit diff stats
path: root/test/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'test/arch/x86')
-rw-r--r--test/arch/x86/arch.py31
-rw-r--r--test/arch/x86/sem.py5
-rw-r--r--test/arch/x86/unit/asm_test.py15
3 files changed, 20 insertions, 31 deletions
diff --git a/test/arch/x86/arch.py b/test/arch/x86/arch.py
index 884d545b..9d4e464d 100644
--- a/test/arch/x86/arch.py
+++ b/test/arch/x86/arch.py
@@ -232,10 +232,10 @@ reg_tests = [
      "0fba2842"),
 
 
-    (m32, "00000000    CALL       0x112233",
-     "e833221100"),
-    (m64, "00000000    CALL       0x112233",
-     "e833221100"),
+    (m32, "00000000    CALL       0x112235",
+     "e830221100"),
+    (m64, "00000000    CALL       0x112235",
+     "e830221100"),
     (m32, "00000000    CALL       DWORD PTR [EAX]",
      "ff10"),
     (m64, "00000000    CALL       QWORD PTR [RAX]",
@@ -761,11 +761,11 @@ reg_tests = [
      "48CF"),
 
     (m32, "00000000    JA         0x12",
-     "7712"),
+     "7710"),
     (m32, "00000000    JA         0xFFFFFFEE",
-     "77EE"),
+     "77EC"),
     (m64, "00000000    JA         0xFFFFFFFFFFFFFFEE",
-     "77EE"),
+     "77EC"),
 
     #(m32, "00000000    JA         0xFFEE",
     # "6677EE"),
@@ -774,19 +774,19 @@ reg_tests = [
 
 
     (m16, "00000000    JCXZ       0xFFEE",
-     "E3EE"),
+     "E3EC"),
     (m16, "00000000    JECXZ      0xFFEE",
-     "67E3EE"),
+     "67E3EB"),
     (m32, "00000000    JECXZ      0xFFFFFFEE",
-     "E3EE"),
+     "E3EC"),
     (m32, "00000000    JCXZ       0xFFFFFFEE",
-     "67E3EE"),
+     "67E3EB"),
     (m32, "00000000    JCXZ       0xFFEE",
-     "6667E3EE"),
+     "6667E3EA"),
     (m64, "00000000    JRCXZ      0xFFFFFFFFFFFFFFEE",
-     "E3EE"),
+     "E3EC"),
     (m64, "00000000    JECXZ      0xFFFFFFFFFFFFFFEE",
-     "67E3EE"),
+     "67E3EB"),
 
 
     (m32, "00000000    MOV        BYTE PTR [EAX], AL",
@@ -1161,6 +1161,9 @@ reg_tests = [
     (m64, "00000000    PUSH       0x11223344",
      "6844332211"),
 
+    (m32, "00000000    PUSH       0xFFFFFF80",
+     "6a80"),
+
     (m32, "00000000    PUSH       CS",
      "0e"),
     (m32, "00000000    PUSH       SS",
diff --git a/test/arch/x86/sem.py b/test/arch/x86/sem.py
index d2c998c8..b80ab33d 100644
--- a/test/arch/x86/sem.py
+++ b/test/arch/x86/sem.py
@@ -47,10 +47,9 @@ def compute(ir, mode, asm, inputstate={}, debug=False):
 def compute_txt(ir, mode, txt, inputstate={}, debug=False):
     blocs, symbol_pool = parse_asm.parse_txt(mn, mode, txt)
     symbol_pool.set_offset(symbol_pool.getby_name("main"), 0x0)
-    resolved_b, patches = asmbloc.asm_resolve_final(
-        mn, blocs[0], symbol_pool)
+    patches = asmbloc.asm_resolve_final(mn, blocs[0], symbol_pool)
     interm = ir(symbol_pool)
-    for bbl in resolved_b:
+    for bbl in blocs[0]:
         interm.add_bloc(bbl)
     return symb_exec(interm, inputstate, debug)
 
diff --git a/test/arch/x86/unit/asm_test.py b/test/arch/x86/unit/asm_test.py
index f28c4d2f..c6381d9e 100644
--- a/test/arch/x86/unit/asm_test.py
+++ b/test/arch/x86/unit/asm_test.py
@@ -20,18 +20,6 @@ if filename and os.path.isfile(filename):
 
 reg_and_id = dict(mn_x86.regs.all_regs_ids_byname)
 
-
-def my_ast_int2expr(a):
-    return ExprInt32(a)
-
-
-def my_ast_id2expr(t):
-    return reg_and_id.get(t, ExprId(t, size=32))
-
-my_var_parser = parse_ast(my_ast_id2expr, my_ast_int2expr)
-base_expr.setParseAction(my_var_parser)
-
-
 class Asm_Test(object):
     def __init__(self):
         self.myjit = Machine("x86_32").jitter()
@@ -53,8 +41,7 @@ class Asm_Test(object):
         # fix shellcode addr
         symbol_pool.set_offset(symbol_pool.getby_name("main"), 0x0)
         s = StrPatchwork()
-        resolved_b, patches = asmbloc.asm_resolve_final(
-            mn_x86, blocs[0], symbol_pool)
+        patches = asmbloc.asm_resolve_final(mn_x86, blocs[0], symbol_pool)
         for offset, raw in patches.items():
             s[offset] = raw