コード例 #1
0
ファイル: run.py プロジェクト: noriok/pdp11
def run(bytes, mode):
    data = Data(bytes[16:])

    isdump = mode == MODE_DUMP
    offset = 0
    text_bytes = bytes[16:] # テキストデータ
    vm = VM(text_bytes)
    # TODO:dumpとrunは分ける。
    while data.has_more_elements():
        pc = vm.pc()
        op = (text_bytes[pc+1] << 8) | text_bytes[pc]
        print("pc:", pc, hex(pc), "op:", op, oct(op), hex(op))

        # ダンプ用
        d = opcode.dispatch(op, data, MODE_DUMP, vm)
        print("dump:", d)
        # ダンプするとpcが書き換わるので、元に戻す
        vm.set_pc(pc)
        
        d = opcode.dispatch(op, data, mode, vm)


        vm.dump_reg()