diff options
Diffstat (limited to 'asm.py')
-rwxr-xr-x | asm.py | 40 |
1 files changed, 2 insertions, 38 deletions
@@ -1,39 +1,6 @@ #!/usr/bin/env python3 -mnems = """ -nop -rot -nrt -dup -swp -ovr -drp -tck -nip -equ -neq -add -sub -mul -div -neg -slt -ult -sle -ule -lod -sto -psh -pop -""".split() -mnems.extend(['???']*(64-len(mnems))) -def opws(kw): - for k in range(16): - mnems.append(kw + str(k)) -opws("mark") # who is mark -opws("loc") -opws("ret") -opws("lit") +from mnems import mnems # print(mnems) import sys @@ -81,7 +48,7 @@ def assemble_line(args, lineno): opc2 = mnems.index(i2) emit_instrs(opc1, opc2) case ["l", val]: - emit_lit(int(val)) + emit_lit(int(val,16)) case [':', label]: if label in labels: @@ -145,9 +112,6 @@ def jump_instr(target, origin): rel = target - origin + 2048 return (rel&0b111111111111)|0b0100000000000000 - - - import sys def main(): for ix, line in enumerate(sys.stdin): |