It appears that rep instructions (eg. rep movs) are treated as repe:
| '\xf3' -> (* REP/REPE *) s.repe <- true; rep s Word.zero
However, unlike repe, rep instructions do not depend on ZF. As a result
instructions like rep movsb (f3 a4) would terminate prematurely when ZF is 0.
It appears that rep instructions (eg. rep movs) are treated as repe:
| '\xf3' -> (* REP/REPE *) s.repe <- true; rep s Word.zero
However, unlike repe, rep instructions do not depend on ZF. As a result instructions like rep movsb (f3 a4) would terminate prematurely when ZF is 0.