delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/06/29/10:32:10

Date: Tue, 29 Jun 1999 17:29:34 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Javier Calleja <dismuntel AT apdo DOT com>
cc: djgpp <djgpp AT delorie DOT com>
Subject: Re: Does the 'go32_dpmi_allocate_iret_wrapper' do the 'STI' instruction?
In-Reply-To: <01bec13d$366afe60$0720a8c0@salmon.ctv.es>
Message-ID: <Pine.SUN.3.91.990629172602.18841H-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Mon, 28 Jun 1999, Javier Calleja wrote:

>   Is correctI if I put a STI instruction before the EOI instruction or the
> go32 wrapper does this for me?

The wrapper does NOT issue STI.

Btw, you could easily verify this yourself by downloading the 
djlsr202.zip archive which hodls all the library sources.  IMHO, any 
programmer who messes with interrupts *must* have library sources
handy, since you cannot call a library function from such a program 
without knowing *exactly* what that function does.

>   If I put a STI, could I have problems if another interrupt is called?

You can't set the interrupt flag twice, so an extra STI should be 
harmless.  The most it could do is cause some delay, since some DPMI 
servers could catch it and emulate it with slow code.  But with ring-3 
DPMI servers STI runs at native speed, so usually there shouldn't be a 
problem.

- Raw text -


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