From: alaric AT abwillms DOT demon DOT co DOT uk (Alaric B. Williams) Newsgroups: comp.os.msdos.djgpp Subject: Re: Interrupt Handling in C Date: Fri, 13 Dec 1996 18:01:15 GMT Lines: 54 Message-ID: <850500059.16055.0@abwillms.demon.co.uk> References: NNTP-Posting-Host: abwillms.demon.co.uk To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Peter Berdeklis wrote: >The DJGPP FAQ suggest that "bullet proof" interrupt handlers must be >written in ASM. What is it that prevents DJGPP from outputing bullet >proof code in C? Could someone give me some hints. >As you can probably guess I want to write an interrupt handler in C. I >could certainly modify the gcc -S output if necessary, but what traps >should I be looking for. >Does someone have a DJGPP hardware/interrupt programing FAQ I could look at? Kerching! Browse around "http://www.abwillms.demon.co.uk/prog/" There's a tutorial on the theory I wrote, which contains a simple hardware library I wrote. When you're read that, I'd recommend downloading the wizz-bang libhw library from the same page, which does quite a few useful things. I've based the security of the interrupt handlers around a cunning method of marking stuff as locked, which requires the removal of a gcc bug. Patched versions of the executables cc1.exe and cc1plus.exe are gettable from the page - select the appropriate one for your version of DJGPP (v2 or v2.01) >Thank you. The pleasure is all mine! >--------------- >Peter Berdeklis >Dept. of Physics, Univ. of Toronto Hmmm - what's a physicist want with interrupt handlers? I'd be well proud if libhw were used to control a data logging device or something cool like that :-) ABW -- "Simply drag your mother in law's cellphone number from the Address Book to the Laser Satellite icon, and the Targeting Wizard will locate her. Then follow the onscreen prompts for gigawattage and dispersion pattern..." (Windows for Early Warning and Defence User's manual P385) Alaric B. Williams Internet : alaric AT abwillms DOT demon DOT co DOT uk Hello :-)