|
|
On Sun, 02 Dec 2007 12:53:54 -0800, Darren New wrote:
> Jim Henderson wrote:
>> See, to me, that's not much different than a function call - just a
>> very directly implemented function call. :-)
>
> Well, yah, except you say "invoke this function when you get that
> interrupt", and you don't set up the interrupt table yourself, and you
> don't have to deal with turning interrupts on and off, generating
> special return instructions, managing the priorities, etc.
>
> Kind of the difference between having threading or dynamic loading in a
> language, and invoking an OS-specific library for it. Functionally
> pretty similar, except you only have to learn it once and it generally
> works out better/easier to use.
>
>> But probably closer to invoking, say, INT21 than you would do from C
>> using inline - though the generated code by the compiler would probably
>> be very close.
>
> I'm talking about handling interrupts, like in the kernel or a device
> driver, rather than generating interrupts. If that's the confusion...
> :-)
Ahhhh, I was thinking you/we were talking about calling interrupts -
chaining interrupts is definitely something different. I think back in
the early 90's I wrote an interrupt chain in C, and you're right, it
wasn't very straighforward. I'd have to pull out a couple of my old
books on interrupt programming to remember how I did it.
I know I did do it, though, because there were some undocumented DOS
interrupts that I used for doing various tricky things in NetWare login
scripts in the 3.x days - things like changing the master DOS environment
table from within a DOS login script; I'm fairly sure I didn't write them
in assembler, but it has been 20+ years since I did that, so maybe I did
do that.
Jim
Post a reply to this message
|
|