diff options
Diffstat (limited to 'devtools')
| -rw-r--r-- | devtools/tasmrecover/tasm/proc.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/devtools/tasmrecover/tasm/proc.py b/devtools/tasmrecover/tasm/proc.py index 3c4ac21372..1350ea1e0b 100644 --- a/devtools/tasmrecover/tasm/proc.py +++ b/devtools/tasmrecover/tasm/proc.py @@ -34,6 +34,9 @@ class proc: if not isinstance(stmts[i], cls): i += 1 continue + if i > 0 and isinstance(stmts[i - 1], op._rep): #skip rep prefixed instructions for now + i += 1 + continue j = i + 1 while j < len(stmts): @@ -49,6 +52,17 @@ class proc: else: i = j + i = 0 + while i < len(stmts): + if not isinstance(stmts[i], op._rep): + i += 1 + continue + if i + 1 >= len(stmts): + break + if isinstance(stmts[i + 1], cls): + stmts[i + 1].repeat = 'context.cx' + del stmts[i] + i += 1 return def optimize(self): |
