www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/06/06/02:24:06

Date: Thu, 6 Jun 1996 09:20:01 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Jean-Pierre <jpdelprat AT teaser DOT fr>
Cc: djgpp AT delorie DOT com
Subject: Re: Help about Critical Error Irq Handler
In-Reply-To: <4p4q52$ic4@teaser.fr>
Message-Id: <Pine.SUN.3.91.960606091618.27903K-100000@is>
Mime-Version: 1.0

On Wed, 5 Jun 1996, Jean-Pierre wrote:

>   // Install Critical Error handler
> 
>   addr.pm_offset=(int)(Int24Handler);
>   addr.pm_selector=_go32_my_cs();
> 
> _go32_dpmi_get_protected_mode_interrupt_vector(0x24,&old_int24_handler);
>   _go32_dpmi_set_protected_mode_interrupt_vector(0x24,&addr);

You didn't wrap your function with code that pushes all the registers on 
entry, then restores tham on exit and does an IRET.  Without this, your 
function is not a valid interrupt handler.

Please read section 18.8 in the DJGPP FAQ list (available as 
v2/faq200b.zip from the same place you get DJGPP).  It explains how to do 
these things correctly, which might save you a lot of grief (and a 
wiped-out disk).

- Raw text -


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