Last change
on this file since 9bf0f86 was 4f508e6, checked in by Thomas Lopatic <thomas@…>, 7 years ago |
Converted assembly language files.
|
-
Property mode
set to
100755
|
File size:
1.1 KB
|
Line | |
---|
1 | #!/usr/bin/env python3
|
---|
2 |
|
---|
3 | import sys
|
---|
4 | import re
|
---|
5 |
|
---|
6 | def convert_line(line):
|
---|
7 | if line == "*":
|
---|
8 | return ""
|
---|
9 |
|
---|
10 | # |foo .equ *| -> |foo:|
|
---|
11 |
|
---|
12 | m = re.match(r"^([a-z0-9_]+)\t+.equ\t+\*(.*)$", line)
|
---|
13 |
|
---|
14 | if m != None:
|
---|
15 | lab = m.group(1) + ":"
|
---|
16 | com = m.group(2).strip()
|
---|
17 | line = lab + "\t\t\t\t\t"[len(lab) // 8:] + com
|
---|
18 |
|
---|
19 | # |foo: dc.b '(...)'| -> |foo: dc.b "(...)"|
|
---|
20 |
|
---|
21 | m = re.match(r"((?:^[a-z0-9]+:)?\t+dc.b\t+)'([^']+)'(.*)$", line)
|
---|
22 |
|
---|
23 | if m != None:
|
---|
24 | line = m.group(1) + "\"" + m.group(2) + "\"" + m.group(3)
|
---|
25 |
|
---|
26 | line = line.replace("*", "|")
|
---|
27 | line = line.replace("$", "0x")
|
---|
28 | line = line.replace(".equ", "=")
|
---|
29 | return line
|
---|
30 |
|
---|
31 | def convert(in_path, out_path):
|
---|
32 | lines = []
|
---|
33 |
|
---|
34 | with open(in_path, "r") as f:
|
---|
35 | for line in f:
|
---|
36 | line = line.rstrip()
|
---|
37 | line = convert_line(line)
|
---|
38 | lines.append(line)
|
---|
39 |
|
---|
40 | with open(out_path, "w") as f:
|
---|
41 | for line in lines:
|
---|
42 | print(line, file = f)
|
---|
43 |
|
---|
44 | if len(sys.argv) != 3:
|
---|
45 | raise Exception("usage: asm.py in-path out-path")
|
---|
46 |
|
---|
47 | convert(sys.argv[1], sys.argv[2])
|
---|
Note:
See
TracBrowser
for help on using the repository browser.