Mail Archives: djgpp/1997/10/08/13:19:24
On Wed, 8 Oct 1997, Gurunandan R. Bhat wrote:
> On Wed, 8 Oct 1997, Eli Zaretskii wrote:
>
> > A *lot* of things about hardware interrupts should be documented, because
> > it's so much of a black art. The question is (a) where?
>
> I would think section 18 of the djgpp faq, which already has more on
> interrupt handling than any tutorial that I have seen (and I have seen
> many) might be a good place.
I disagree. This issue is too large to be in a general FAQ. The FAQ is
already too large, and I have to draw a line somewhere. What's there
today is a general introduction and some basic techniques. If I begin to
explain about DS alias, then I'll end up discussing all the questions of
Life, the Universe, and Everything.
No, somebody should sit down and really write a tutorial about this. It
isn't going to be a short one, since there's a lot to tell, even if you
assume that the reader already has some background and experience in
real-mode interrupt handling.
> Now you are asking ;). But seriously, I have yet to see a post or a query
> pertaining to a isr that bombed because %ds was used.
To see it bombing, you need to create a pending signal situation. Make
your foreground task issue a DOS call (e.g., getc from stdin), then
press Ctrl-Break, then press a key (for `getc' to return) and see it
blow. Or something around these lines.
> > Barring that, anybody who wants to futz with hardware interrupts, needs to
> > take a very good lookat the few handlers built into DJGPP (the keyboard
> > handler for generating SIGINT on ^C and the timer handler for profiling).
> > If they do, they will see the DS alias used all over the place.
>
> Could you point me to the pertinent files please. I would be very
> interested.
From djlsr201.zip: src/libc/crt0/crt0.s, src/libc/go32/dpmiexcp.c,
src/libc/go32/exceptn.s, src/libc/posix/signal/itimer.c.
- Raw text -