VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

What happens with a repeated string (prefixes REP, REPZ and REPNZ) when the resume flag is set? Is it cleared after a single repeat, or after all repeats execute?

Logically each repeat is one instruction(without fetching), so after the first repeat it will trap (again), but for speed purposes it might actually be after all repeats are done?

What happens in such a case? Currently UniPCemu clears the flag after the first I/O step(so (E)CX will have decremented once before faulting into the debugger on the next repeat or instruction after the string instruction), but perhaps that isn't the case?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 1 of 1, by superfury

User metadata
Rank l33t++
Rank
l33t++

Just changed IRET(D) to not affect the Resume Flag to 0 after completing, making it take proper effect.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io