www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/03/28/13:58:02

From: "Alexei A. Frounze" <alex DOT fru AT mtu-net DOT ru>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Interrupt wrapper (was Re: keyboard interrupt)
Date: Tue, 28 Mar 2000 18:10:41 +0400
Organization: MTU-Intel ISP
Lines: 33
Message-ID: <38E0BD61.CF54CF91@mtu-net.ru>
References: <8bod7h$rj1$1 AT gxsn DOT com> <38DFBF98 DOT 8BEB44EB AT corel DOT com> <38DFE9E5 DOT 37B0F318 AT mtu-net DOT ru> <38E0B41D DOT 4046948D AT corel DOT com>
NNTP-Posting-Host: ppp105-186.dialup.mtu-net.ru
Mime-Version: 1.0
X-Trace: gavrilo.mtu.ru 954256201 17748 212.188.105.186 (28 Mar 2000 15:10:01 GMT)
X-Complaints-To: usenet-abuse AT mtu DOT ru
NNTP-Posting-Date: 28 Mar 2000 15:10:01 GMT
X-Mailer: Mozilla 4.61 [en] (Win95; I)
X-Accept-Language: en,ru
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Jonathan Meunier wrote:
> 
> In this case, wouldn't the _go32_dpmi_allocate_iret_wrapper() wrapper
> take care of this? I don't see why it shouldn't work...

I do not know. Btw, as a programmer that works with low-level stuff, I
like clear stuff just like typical IRQ ISR. I.e. with saving registers,
loading segments, performing I/O, acknowleging IRQ, returning back via
IRET(D).


> 
> (and to merge your other post)..
> As for your wrapper source code you posted, I would like some
> clarification.. What is ___djgpp_ds_alias? is it just some sort of
> pointer to the data segment?

Yes, it's a variable where program's data selector is stored.

> 
> But what exactly is a wrapper; why do we need one?

I already answered this question... Since, DJGPP/GCC doesn't support
definitions of Interrupt Service Routines (using "interrupt" reserved
word or something similar) with register save/load, ... and IRET(D), we
should do this with ASM. Clear?

Alexei A. Frounze
-- 
Homepage: http://alexfru.chat.ru
Mirror:   http://members.xoom.com/alexfru


- Raw text -


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