On Fri, 14 Apr 2000, Josef Drexler wrote:
> So, does anybody have any idea why this is happening, and what I can do to
> fix it? Why does a prefixed int xx cause a segfault when a regular one
> works fine?
The following patch fixes this for me: (but move the line containing
"esi,edi,ecx" behind "should use ")
I hope I haven't looked over something in this quick patch.
Bart
diff -u dosemu-1.0.0-orig/src/emu-i386/do_vm86.c
dosemu-1.0.0/src/emu-i386/do_vm86.c
--- dosemu-1.0.0-orig/src/emu-i386/do_vm86.c Sun Mar 5 19:41:09 2000
+++ dosemu-1.0.0/src/emu-i386/do_vm86.c Sat Apr 15 15:28:30 2000
@@ -193,6 +193,11 @@
LWORD(eip) += (csp-lina);
switch (*csp) {
+
+ case 0xcd: /* int */
+ do_int(*(csp+1));
+ LWORD(eip)+=2;
+ break;
case 0x6c: /* insb */
/* NOTE: ES can't be overwritten; prefixes 66,67 should use
esi,edi,ecx