@@ -23,110 +23,19 @@ def read_file(src_file):
23
23
else :
24
24
break
25
25
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" ]
130
39
131
40
132
41
def convert_file (parsed_args ):
@@ -149,11 +58,11 @@ def convert_file(parsed_args):
149
58
if b == 0x0A :
150
59
tab = True
151
60
continue
152
- if b < min ( ASM_META , key = ASM_META . get ) : # Printable character
61
+ if b < ASM_FIRST_TOKEN : # Printable character
153
62
print (chr (b ), end = "" , file = output )
154
63
continue
155
64
try :
156
- print (ASM_META [b ], end = "" , file = output )
65
+ print (ASM_META [b - ASM_FIRST_TOKEN ], end = "" , file = output )
157
66
except KeyError :
158
67
print ("Token not defined: 0x%02X (%d), at line %05d"
159
68
% (b , b , strnum ))
0 commit comments