29 lines
676 B
Python
29 lines
676 B
Python
import sys
|
|
import struct
|
|
|
|
from decode import decode_instruction, decode_variables
|
|
|
|
def print_instruction(ins, variables):
|
|
print(ins.instruction, ins.operands, variables)
|
|
|
|
def next_instruction(ins):
|
|
pass
|
|
|
|
def main():
|
|
with open(sys.argv[1], 'rb') as f:
|
|
buf = f.read()
|
|
mem = memoryview(buf)
|
|
|
|
for i in range(len(buf) // 2):
|
|
b = mem[(i+0)*2:(i+1)*2]
|
|
n, = struct.unpack(">H", b)
|
|
ins = decode_instruction(n)
|
|
if ins is None:
|
|
print("<unknown instruction>", hex(n))
|
|
else:
|
|
variables = decode_variables(n, ins)
|
|
print_instruction(ins, variables)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|