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


Reply via email to