Compare commits
2 Commits
f1e083d7bb
...
0c95d4df91
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c95d4df91 | |||
| 6d9baf1253 |
26
src/main.py
26
src/main.py
@ -1,6 +1,28 @@
|
|||||||
def main():
|
from argparse import ArgumentParser
|
||||||
print("Hello from dp32-proto!")
|
from vm import VM
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = ArgumentParser(
|
||||||
|
prog="DP32-emu",
|
||||||
|
description="simple emulator for DP32")
|
||||||
|
parser.add_argument(
|
||||||
|
"mem_file"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-o",
|
||||||
|
"--output",
|
||||||
|
help="output memory file of virtual machine",
|
||||||
|
default="out.mem"
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
print(args)
|
||||||
|
with open(args.mem_file, 'rb') as f:
|
||||||
|
mem = bytearray(f.read())
|
||||||
|
vm = VM(mem)
|
||||||
|
vm.run()
|
||||||
|
|
||||||
|
with open(args.output, 'wb') as f:
|
||||||
|
f.write(vm.mem)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
@ -63,7 +63,7 @@ OPCODES = {
|
|||||||
# block 3
|
# block 3
|
||||||
0x40: OpD(OpF(0), OpL.BRANCH, OpA.BRANCH),
|
0x40: OpD(OpF(0), OpL.BRANCH, OpA.BRANCH),
|
||||||
0x50: OpD(OpF.QUICK, OpL.BRANCH, OpA.BRANCH),
|
0x50: OpD(OpF.QUICK, OpL.BRANCH, OpA.BRANCH),
|
||||||
0x51: OpD(OpF(0), OpL.BRANCH, OpA.MEM_BRANCH),
|
0x51: OpD(OpF(0), OpL.BRANCH, OpA.IND_BRANCH),
|
||||||
}
|
}
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user