Skip to content

Commit 7a26eca

Browse files
committed
simx86: STI does not inhibit single stepping with TF set
Unlike POPss/MOVss See also https://gitlab.com/qemu-project/qemu/-/commit/1e94ddc685443 I verified this in real mode. FreeDOS debug displays STI together with the next instruction when tracing but actually does not skip over it.
1 parent 5b872fd commit 7a26eca

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/base/emu-i386/simx86/interp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2123,7 +2123,8 @@ intop3b: { int op = ArOpsFR[D_MO(opc)];
21232123
Gen(O_SIM, _mode, opc, 0, PC);
21242124
/* real mode inhibits after STI as well but
21252125
we've always relied on trapping behaviour with vm86 */
2126-
if (!V86MODE() && !(_mode & MINHI)) {
2126+
/* note that TF does not inhibit after STI! */
2127+
if (!V86MODE() && !(_mode & (MTRAP|MINHI))) {
21272128
PC = InterpOne(PC, Interp_LONG_CS, ocs,
21282129
basemode|MINHI|MSSTP);
21292130
/* check signals immediately after the

0 commit comments

Comments
 (0)