return blocks
}};
+let {{
+ def doBadInstDecode():
+ blocks = OutputBlocks()
+ blocks.decode_block = '''
+ return new Unknown(machInst);
+ '''
+ return blocks
+}};
+
let {{
class OpType(object):
parser = re.compile(r"(?P<tag>[A-Z]+)(?P<size>[a-z]*)|(r(?P<reg>[A-Z0-9]+)(?P<rsize>[a-z]*))")
# This refers to memory. The macroop constructor sets up modrm
# addressing. Non memory modrm settings should cause an error.
env.doModRM = True
- return doRipRelativeDecode(Name, opTypes, env)
+ return doSplitDecode("MODRM_MOD",
+ {"3" : (doBadInstDecode,) },
+ (doRipRelativeDecode, Name, opTypes, env))
elif opType.tag == None or opType.size == None:
raise Exception, "Problem parsing operand tag: %s" % opType.tag
elif opType.tag == "C":