Git rid of some hardcoding

This commit is contained in:
Luxferre
2022-09-03 07:58:16 +03:00
parent 24eaaab70d
commit 4ce53635c8
+5 -5
View File
@@ -171,18 +171,18 @@ def start_assembly(srcfname, dstfname): # main assembly method
elif line[0] == NRJDIR_SET: # handle .set elif line[0] == NRJDIR_SET: # handle .set
addr = int(line[1], 16) addr = int(line[1], 16)
val = line[2] val = line[2]
if val == 'HLT': if val == NRJDIR_HLT:
targetmem[addr] = ltoffset targetmem[addr] = ltoffset
elif val != 'NXT': elif val != NRJDIR_NXT:
targetmem[addr] = int(val, 16) targetmem[addr] = int(val, 16)
else: # 3-value vector where HLT or NXT can be encountered else: # 3-value vector where HLT or NXT can be encountered
# save current instruction in the lookup table # save current instruction in the lookup table
targetmem[ltoffset + ltpos] = codepos targetmem[ltoffset + ltpos] = codepos
ltpos += 1 ltpos += 1
for v in line: for v in line:
if v == 'HLT': if v == NRJDIR_HLT:
targetmem[codepos] = ltoffset targetmem[codepos] = ltoffset
elif v == 'NXT': elif v == NRJDIR_NXT:
targetmem[codepos] = ltoffset + ltpos targetmem[codepos] = ltoffset + ltpos
else: else:
targetmem[codepos] = int(v, 16) targetmem[codepos] = int(v, 16)
@@ -196,7 +196,7 @@ def start_assembly(srcfname, dstfname): # main assembly method
elif line[0] == NRJDIR_SET: # handle .set elif line[0] == NRJDIR_SET: # handle .set
addr = int(line[1], 16) addr = int(line[1], 16)
val = line[2] val = line[2]
if val == 'NXT': if val == NRJDIR_NXT:
val = targetmem[ltoffset + ltpos] val = targetmem[ltoffset + ltpos]
targetmem[addr] = val targetmem[addr] = val
else: # 3-value vector where HLT or NXT can be encountered else: # 3-value vector where HLT or NXT can be encountered