def assemble(instrs):
res = []
for inst in instrs:
m = instre.match(inst)
if not m or not m.group(1) in aCode_map:
continue
opcode, parmfmt = aCode_map[m.group(1)]
res.append(struct.pack("B", opcode))
if m.group(2):
if parmfmt == 0:
continue
parms = [int(x) for x in re.split(",\s*", m.group(2))]
if parmfmt == -1:
l = len(parms)
res.append(struct.pack(("%dB" % (l+1)), l, *parms))
else:
res.append(struct.pack(parmfmt, *parms))
return b"".join(res)
评论列表
文章目录