delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/09/26/12:01:29

Date: Tue, 26 Sep 2000 17:59:28 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: computerboy <computerboy AT sina DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: how hook int 21h from protect mode!
In-Reply-To: <20000914025420.6116.qmail@sina.com>
Message-ID: <Pine.SUN.3.91.1000926175449.15724D-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Thu, 14 Sep 2000, computerboy wrote:

> hi, please help me , I'm new for djgpp, I want hook real mode int 21h 
> at protect mode , I use a source from mailing list - test.c, but 
> my pc hung, call_dos() seem reenter! can u give a simple and  complete 
> code for hook 21h!
[snip]
>  >static
>  >void call_dos(_go32_dpmi_registers *r)
>  >{
>  > r->x.cs = old_int21_vector.rm_segment;
>  > r->x.ip = old_int21_vector.rm_offset;
>  > _go32_dpmi_simulate_fcall_iret(r);
>  >}

This function should zero r->x.ss, r->x.sp, and r->x.flags, before
calling _go32_dpmi_simulate_fcall_iret.

- Raw text -


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