aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'devtools')
-rw-r--r--devtools/tasmrecover/tasm/proc.py14
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):