www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/07/27/07:57:24

Date: Tue, 27 Jul 93 13:07:57 +0100
From: buers AT dg1 DOT chemie DOT uni-konstanz DOT de (Dieter Buerssner)
To: turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: Exception 33

   
   Stephen Turnbull <turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp>

       (?) What is Exception 33?  Any ideas on fixing it that do not
	   involve recompiling Emacs (I don't have the Japanese source)?

Nemacs may be do call to dos via int86(0x21, &regs, &regs ) (0x21 == 33), 
but the AH register transferred via regs.h.ah is not supported by
go32. You can put in some debugging code in go32/exphdlr.c in fumction
i_21() to find out which dos interrupt is called. Actually such
debugging code already is there commented out between #if 0
... #endif.  With this code you will know the registers contents for the
interrupt.  With some reference, like Ralf Brown's interrupt list, you'll
find out the details of the call, including the registers. If the
segment registers are not needed, supporting the interrupt by go32
might be as easy as putting in a new case statement in the switch in
i_21(), which falls through to the code

        intr(0x21, &r);
	reg2tss(&r);
	return 0;

Hope this helps
	
	Dieter


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019