about summary refs log tree commit diff stats
path: root/src/miasm/arch/x86/disasm.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/miasm/arch/x86/disasm.py')
-rw-r--r--src/miasm/arch/x86/disasm.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/miasm/arch/x86/disasm.py b/src/miasm/arch/x86/disasm.py
new file mode 100644
index 00000000..49b7158a
--- /dev/null
+++ b/src/miasm/arch/x86/disasm.py
@@ -0,0 +1,30 @@
+from miasm.core.asmblock import disasmEngine
+from miasm.arch.x86.arch import mn_x86
+
+
+cb_x86_funcs = []
+
+
+def cb_x86_disasm(mdis, cur_block, offset_to_dis):
+    for func in cb_x86_funcs:
+        func(mdis, cur_block, offset_to_dis)
+
+
+class dis_x86(disasmEngine):
+    attrib = None
+
+    def __init__(self, bs=None, **kwargs):
+        super(dis_x86, self).__init__(mn_x86, self.attrib, bs, **kwargs)
+        self.dis_block_callback = cb_x86_disasm
+
+
+class dis_x86_16(dis_x86):
+    attrib = 16
+
+
+class dis_x86_32(dis_x86):
+    attrib = 32
+
+
+class dis_x86_64(dis_x86):
+    attrib = 64