Mail Archives: djgpp/1996/06/06/02:24:06
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 -