🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.modula2
Article #3431

Re: Interrupt Handlers in Topspeed Modula 2 V1.17

#3431
From: "Mark Morgan Lloyd "
Date: Thu, 28 Mar 1996 13:41
28 lines
1519 bytes
> There are several things that I can't seem to find explained very well:
> 
> If I want to write a keyboard interrupt handler, I will want to make it 
> so that when my procedure returns, the registers are modified as if a 
> call to the original handler had occured (at least most of the time, 
> until the right keystroke(s) are entered) how do I do this??

I've done it by inline code to modify the stack.

> The First example modifies the interrupt vector table directly. If i 
> want to use this method, how do I calculate the address for any given 
> interrupt??

You don't. There's a DOS call to do this.

> And lastly: which of the above is the most practical/workable?? I would 
> greatly appreciate a quick pointer in the right direction from someone 
> who has tried this before :-)

I've done it in the past by hooking in a mixture of high-level and 
assembler, but it was not nice. I don't suggest trying IOTRANSFER or 
anything like that- it's not really designed for it.

Mark Morgan Lloyd
mark_tbu@cix.compulink.co.uk

[Opinions above are the author's, not those of his employers or 
colleagues]
Technical Details
Message-ID: <DozCpx.7B6@cix.compulink.co.uk>
Path: arc1-ca.pugleaf.net!cix.compulink.co.uk!usenet
References: <496207970wnr@harvey27.demon.co.uk>

Show Full Headers
Complete Article Headers
Newsgroups: comp.lang.modula2
Path: arc1-ca.pugleaf.net!cix.compulink.co.uk!usenet
From: mark_tbu@cix.compulink.co.uk ("Mark Morgan Lloyd ")
Subject: Re: Interrupt Handlers in Topspeed Modula 2 V1.17
Message-ID: <DozCpx.7B6@cix.compulink.co.uk>
Organization: KDG Mobrey Telemetry
References: <496207970wnr@harvey27.demon.co.uk>
Date: Thu, 28 Mar 1996 13:41:57 GMT
X-News-Software: Ameol