Menu ▾ ▴

[r5]: / Python / x86assembler.py  Maximize  Restore  History

Download this file

46 lines (40 with data), 1.8 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# coding: iso-8859-1
#
# script(ed/able/ing/ful) code compiler
# (c)2006 Tiago Rezende
# Distributed freely.
#
from assemblerbase import *
r128 = RegisterScheme("r128")
r64 = RegisterScheme("r64")
r32 = RegisterScheme("r32")
r16 = RegisterScheme("r16")
r8 = RegisterScheme("r8")
class x86regs:
def __init__(self):
self.registers = {"eax": Register("eax",{r32: 0x01}),
"ax": Register("ax", {r16: 0x01}),
"al": Register("al", {r8: 0x01}),
"ah": Register("ah", {r8: 0x05}),
"ecx": Register("ecx",{r32: 0x02}),
"cx": Register("cx", {r16: 0x02}),
"cl": Register("cl", {r8: 0x02}),
"ch": Register("ch", {r8: 0x06}),
"edx": Register("edx",{r32: 0x03}),
"dx": Register("dx", {r16: 0x03}),
"dl": Register("dl", {r8: 0x03}),
"dh": Register("dh", {r8: 0x07}),
"ebx": Register("ebx",{r32: 0x04}),
"bx": Register("bx", {r16: 0x04}),
"bl": Register("bl", {r8: 0x04}),
"bh": Register("bh", {r8: 0x08}),
"esp": Register("esp",{r32: 0x05}),
"ebp": Register("ebp",{r32: 0x06}),
"esi": Register("esi",{r32: 0x07}),
"edi": Register("edi",{r32: 0x08})}
self.opcodes = {}
class x86assembler:
def __init__(self, infile):
print "iê"
def output(self):
print "iê"