Mail Archives: djgpp/2000/03/28/23:38:41
"Alexei A. Frounze" wrote:
>
> 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?
Oh, sorry, I just thought a wrapper would do more than that.. well, it's
already doing enough (preventing program from potential crash).
Thanks for sharing your knowledge ;)
.(Trancelucid).
. Jaune .
- Raw text -