diff options
Diffstat (limited to 'src/devices/cpu/tms57002/tmsmake.py')
-rwxr-xr-x | src/devices/cpu/tms57002/tmsmake.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/devices/cpu/tms57002/tmsmake.py b/src/devices/cpu/tms57002/tmsmake.py index 326c07776da..d4ac4b25408 100755 --- a/src/devices/cpu/tms57002/tmsmake.py +++ b/src/devices/cpu/tms57002/tmsmake.py @@ -4,8 +4,9 @@ from __future__ import print_function -import sys +import io import re +import sys DASM_ARGS = { @@ -323,7 +324,7 @@ class Instruction: def LoadLst(filename): instructions = [] ins = None - for n, line in enumerate(open(filename, "rU")): + for n, line in enumerate(io.open(filename, "r")): line = line.rstrip() if not line and ins: # new lines separate intructions @@ -433,16 +434,19 @@ def CheckSelfAssign(line): rhs = ls[1].strip().rstrip(';') return lhs == rhs -ins_list = LoadLst(sys.argv[1]) +m = sys.argv[1] +ins_list = LoadLst(sys.argv[2]) try: - f = open(sys.argv[2], "w") + f = open(sys.argv[3], "w") except Exception: err = sys.exc_info()[1] - sys.stderr.write("cannot write file %s [%s]\n" % (sys.argv[2], err)) + sys.stderr.write("cannot write file %s [%s]\n" % (sys.argv[3], err)) sys.exit(1) -EmitDasm(f, ins_list) -EmitCdec(f, ins_list) -no = EmitCintrp(f, ins_list) -EmitCintrpDecl(f, ins_list, no) -EmitCintrpSwitch(f, ins_list, no) +if m == "d": + EmitDasm(f, ins_list) +else: + EmitCdec(f, ins_list) + no = EmitCintrp(f, ins_list) + EmitCintrpDecl(f, ins_list, no) + EmitCintrpSwitch(f, ins_list, no) |