Git rid of some hardcoding
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user