Example #1
0
		def mk_op_list(op):
			if op is None: return [None]
			if isinstance(op,X86UnknownSizeImmediate):
				v = op.value
				l = [X86.Id(v)]
				if v <= 0xFF or (v <= 0x7F or v >= 0xFFFFFF80) or (v <= 0x7F or (v >= 0xFF80 and v <= 0xFFFF)):
					l.append(X86.Ib(v))
				if v <= 0xFFFF or (v <= 0x7F or v >= 0xFFFF8000) or (v <= 0x7F or (v >= 0xFF80 and v <= 0xFFFF)):
					l.append(X86.Iw(v))
				return l
			elif isinstance(op,X86UnknownSizeMem16):
				return map(lambda s: X86.Mem16(op.Seg,s,op.BaseReg,op.IndexReg,op.Disp),memsizes)
			elif isinstance(op,X86UnknownSizeMem32):
				return map(lambda s: X86.Mem32(op.Seg,s,op.BaseReg,op.IndexReg,op.ScaleFac,op.Disp),memsizes)
			else:
				return [op]