Made the decoder handle reg_or_imm type arguments with type qualifiers.

--HG--
extra : convert_revision : f0ec58d754401fa6f3d64998355644882c5f5c96
This commit is contained in:
Gabe Black 2006-05-14 23:56:16 -04:00
parent b91b877e9a
commit 42313f33ef

View file

@ -99,14 +99,16 @@ def template ROrImmDecode {{
let {{
def splitOutImm(code):
matcher = re.compile(r'Rs(?P<rNum>\d)_or_imm(?P<iNum>\d+)')
matcher = re.compile(r'Rs(?P<rNum>\d)_or_imm(?P<iNum>\d+)(?P<typeQual>\.\w+)?')
rOrImmMatch = matcher.search(code)
if (rOrImmMatch == None):
return (False, code, '', '', '')
rString = rOrImmMatch.group("rNum")
if (rOrImmMatch.group("typeQual") != None):
rString += rOrImmMatch.group("typeQual")
iString = rOrImmMatch.group("iNum")
orig_code = code
code = matcher.sub('Rs' + rOrImmMatch.group("rNum"), orig_code)
code = matcher.sub('Rs' + rString, orig_code)
imm_code = matcher.sub('imm', orig_code)
return (True, code, imm_code, rString, iString)
}};