def _Assemble(ea, line): """ Please refer to Assemble() - INTERNAL USE ONLY """ if type(line) == types.StringType: lines = [line] else: lines = line ret = [] for line in lines: seg = idaapi.getseg(ea) if not seg: return (False, "No segment at ea") ip = ea - (idaapi.ask_selector(seg.sel) << 4) buf = idaapi.AssembleLine(ea, seg.sel, ip, seg.bitness, line) if not buf: return (False, "Assembler failed: " + line) ea += len(buf) ret.append(buf) if len(ret) == 1: ret = ret[0] return (True, ret)