def load_obj(load_file, obj, silent=True): m = domus.mem.mem_domus() load_file.load(m, obj, silent=silent) m.hex = True p = pyreveng.pyreveng(m) cpu = domus.cpu.cpu(p) ld = load_file.rec_end p.a['library'] = load_file.library p.a['objname'] = obj p.a['basename'] = load_file.basename p.a['entrypoint'] = ld if obj == None: print("Loaded object from: " + load_file.basename) else: print("Loaded " + obj + " from: " + load_file.basename) print() return p
import mem import pyreveng import topology import render import cpus.cdp1802 ####################################################################### # Set up the memory image m = mem.byte_mem(0,0x800, 0, True, "big-endian") m.fromfile("cdp1802.bin", 0x0000, 1) m.bcols = 3 ####################################################################### # Instantiate pyreveng instance p = pyreveng.pyreveng(m) ####################################################################### # Instantiate a disassembler cpu = cpus.cdp1802.cdp1802(p) ####################################################################### # Provide hints for disassembly cpu.vectors(p) # Subr R(4) cpu.disass(0x644) x = p.t.add(0x0644,0x0654, "subr") p.setlabel(0x0644, "SUBR R(4)") # Subr R(5)
import mem import pyreveng import topology import render import cpus.cdp1802 ####################################################################### # Set up the memory image m = mem.byte_mem(0, 0x800, 0, True, "big-endian") m.fromfile("cdp1802.bin", 0x0000, 1) m.bcols = 3 ####################################################################### # Instantiate pyreveng instance p = pyreveng.pyreveng(m) ####################################################################### # Instantiate a disassembler cpu = cpus.cdp1802.cdp1802(p) ####################################################################### # Provide hints for disassembly cpu.vectors(p) # Subr R(4) cpu.disass(0x644) x = p.t.add(0x0644, 0x0654, "subr") p.setlabel(0x0644, "SUBR R(4)") # Subr R(5)