Skip to content

Commit 44cc315

Browse files
author
Kirill V. Lyadvinsky
committed
Array for assembler tokens
1 parent af44da8 commit 44cc315

File tree

1 file changed

+15
-106
lines changed

1 file changed

+15
-106
lines changed

zxtools/zeus2txt.py

Lines changed: 15 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -23,110 +23,19 @@ def read_file(src_file):
2323
else:
2424
break
2525

26-
27-
ASM_META = {
28-
128: "A",
29-
129: "ADC ",
30-
130: "ADD ",
31-
131: "AF'",
32-
132: "AF",
33-
133: "AND ",
34-
134: "B",
35-
135: "BC",
36-
136: "BIT ",
37-
137: "C",
38-
138: "CALL ",
39-
139: "CCF",
40-
140: "CP ",
41-
141: "CPD",
42-
142: "CPDR",
43-
143: "CPI",
44-
144: "CPIR",
45-
145: "CPL",
46-
146: "D",
47-
147: "DAA",
48-
148: "DE",
49-
149: "DEC ",
50-
150: "DEFB ",
51-
151: "DEFM ",
52-
152: "DEFS ",
53-
153: "DEFW ",
54-
154: "DI",
55-
155: "DISP ",
56-
156: "DJNZ ",
57-
157: "E",
58-
158: "EI",
59-
159: "ENT",
60-
160: "EQU ",
61-
161: "EX ",
62-
162: "EXX",
63-
163: "H",
64-
164: "HALT",
65-
165: "HL",
66-
166: "I",
67-
167: "IM ",
68-
168: "IN ",
69-
169: "INC ",
70-
170: "IND",
71-
171: "INDR",
72-
172: "INI",
73-
173: "INIR",
74-
174: "IX",
75-
175: "IY",
76-
176: "JP ",
77-
177: "JR ",
78-
178: "L",
79-
179: "LD ",
80-
180: "LDD",
81-
181: "LDDR",
82-
182: "LDI",
83-
183: "LDIR",
84-
184: "M",
85-
185: "NC",
86-
186: "NEG",
87-
187: "NOP",
88-
188: "NV",
89-
189: "NZ",
90-
190: "OR ",
91-
191: "ORG ",
92-
192: "OTDR",
93-
193: "OTIR",
94-
194: "OUT ",
95-
195: "OUTD",
96-
196: "OUTI",
97-
197: "P",
98-
198: "PE",
99-
199: "PO",
100-
200: "POP ",
101-
201: "PUSH ",
102-
202: "R",
103-
203: "RES ",
104-
204: "RET",
105-
205: "RETI",
106-
206: "RETN",
107-
207: "RL ",
108-
208: "RLA",
109-
209: "RLC ",
110-
210: "RLCA",
111-
211: "RLD",
112-
212: "RR ",
113-
213: "RRA",
114-
214: "RRC ",
115-
215: "RRCA",
116-
216: "RRD",
117-
217: "RST ",
118-
218: "SBC ",
119-
219: "SCF",
120-
220: "SET ",
121-
221: "SLA ",
122-
222: "SP",
123-
223: "SRA ",
124-
224: "SRL ",
125-
225: "SUB ",
126-
226: "V",
127-
227: "XOR ",
128-
228: "Z"
129-
}
26+
ASM_FIRST_TOKEN = 128
27+
ASM_META = [
28+
"A", "ADC ", "ADD ", "AF'", "AF", "AND ", "B", "BC", "BIT ", "C",
29+
"CALL ", "CCF", "CP ", "CPD", "CPDR", "CPI", "CPIR", "CPL", "D", "DAA",
30+
"DE", "DEC ", "DEFB ", "DEFM ", "DEFS ", "DEFW ", "DI", "DISP ", "DJNZ ",
31+
"E", "EI", "ENT", "EQU ", "EX ", "EXX", "H", "HALT", "HL", "I", "IM ",
32+
"IN ", "INC ", "IND", "INDR", "INI", "INIR", "IX", "IY", "JP ", "JR ",
33+
"L", "LD ", "LDD", "LDDR", "LDI", "LDIR", "M", "NC", "NEG", "NOP", "NV",
34+
"NZ", "OR ", "ORG ", "OTDR", "OTIR", "OUT ", "OUTD", "OUTI", "P", "PE",
35+
"PO", "POP ", "PUSH ", "R", "RES ", "RET", "RETI", "RETN", "RL ", "RLA",
36+
"RLC ", "RLCA", "RLD", "RR ", "RRA", "RRC ", "RRCA", "RRD", "RST ",
37+
"SBC ", "SCF", "SET ", "SLA ", "SP", "SRA ", "SRL ", "SUB ", "V", "XOR ",
38+
"Z"]
13039

13140

13241
def convert_file(parsed_args):
@@ -149,11 +58,11 @@ def convert_file(parsed_args):
14958
if b == 0x0A:
15059
tab = True
15160
continue
152-
if b < min(ASM_META, key=ASM_META.get): # Printable character
61+
if b < ASM_FIRST_TOKEN: # Printable character
15362
print(chr(b), end="", file=output)
15463
continue
15564
try:
156-
print(ASM_META[b], end="", file=output)
65+
print(ASM_META[b-ASM_FIRST_TOKEN], end="", file=output)
15766
except KeyError:
15867
print("Token not defined: 0x%02X (%d), at line %05d"
15968
% (b, b, strnum))

0 commit comments

Comments
 (0)