cshen@maui.cs.ucla.edu (Chien Chung Shen) (11/15/89)
I am interested in language constructs for interrupt facility. Ada has "address clauses" and entry calls. Are there any other languages which support interrupt facility and how are they implemented? Any direction is appreciated. Chien-Chung <cshen@cs.ucla.edu> Hello, this is Chien-Chung Shen
ejp@vixen (Ed Prochak) (11/22/89)
In article <29160@shemp.CS.UCLA.EDU> cshen@maui.cs.ucla.edu (Chien Chung Shen) writes: >I am interested in language constructs for interrupt facility. >Ada has "address clauses" and entry calls. Are there any other >languages which support interrupt facility and how are they >implemented? Any direction is appreciated. > >Chien-Chung <cshen@cs.ucla.edu> >Hello, this is Chien-Chung Shen I haven't used it for a long time, but Intel's PL/M has interrupt type procedures. The compiler is geared to their hardware, bbut you did ask for any directions. PL/M also had some other strange facilities, like the ability to call an assembler routine stored as data. For the things I used it for, it was an appropriate choice. Edward J. Prochak (216)646-4663 I think. {cwjcc,pyramid,decvax,uunet}!abvax!ejp I think I am. Allen-Bradley Industrial Computer Div. Therefore, I AM! Highland Heights,OH 44143 I think? --- Moody Blues
aurie@rhea.trl.oz.au (Alistair Urie - Radio and Satellite Networks) (11/27/89)
>In article <29160@shemp.CS.UCLA.EDU> cshen@maui.cs.ucla.edu >(Chien Chung Shen) writes: >>I am interested in language constructs for interrupt facility. >>Ada has "address clauses" and entry calls. Are there any other >>languages which support interrupt facility and how are they >>implemented? Any direction is appreciated. >> I rather liked the way HP does it in there development systems, a $INTERRUPT pre-complier command in the source sets the following routines as interupts (in effect the routines compile to an RTI rather than RTS return - in 68K ) Alistair URIE Radio and Satellite Networks Phone: +61 3 541 6370 Telecom Research Laboratories Fax: +61 3 543 3339 770 Blackburn Rd. Clayton Vic Internet: aurie@rhea.trl.oz.au AUSTRALIA
abrodnik@watdragon.waterloo.edu (Andrej Brodnik (Andy)) (11/28/89)
In article <836@trlluna.trl.oz> aurie@rhea.trl.oz.au.trl.oz (Alistair Urie - Radio and Satellite Networks) writes: >>In article <29160@shemp.CS.UCLA.EDU> cshen@maui.cs.ucla.edu >>(Chien Chung Shen) writes: >>>I am interested in language constructs for interrupt facility. >>>Ada has "address clauses" and entry calls. Are there any other >>>languages which support interrupt facility and how are they >>>implemented? Any direction is appreciated. >>> > >I rather liked the way HP does it in there development systems, a $INTERRUPT >pre-complier command in the source sets the following routines as interupts >(in effect the routines compile to an RTI rather than RTS return - in 68K ) Modula-2 has IOTRANSFER and the new BSI standard tries to specify it even more preceisley. It (Modula-2) assumes that interrupt routine is nothing else but another process. So interrupt handling is just a special case of general concept of process handling. Andrej
peter@guardian.UUCP (peter) (12/16/89)
In article <29160@shemp.CS.UCLA.EDU> cshen@maui.cs.ucla.edu (Chien Chung Shen) writes: >I am interested in language constructs for interrupt facility. >Ada has "address clauses" and entry calls. Are there any other >languages which support interrupt facility and how are they >implemented? Any direction is appreciated. Intel's PL/M and C compilers allow you to identify procedures as interrupt handlers, using PROCEDURE INTERRUPT and #pragma interrupt, respectively. For the 8086/80186 et al, the interrupt handler is associated with a particular interrupt level. For the 80286 and above, the system builder (e.g., Intel's BLD386) must make this association by setting up an appropriate entry in the interrupt descriptor table (IDT). ------------------------------------------------------------------------------- Peter Plamondon, Intel Corp, 5200 NE Elam Young Pkwy, Hillsboro, OR 97124-6497 Internet: peter@langlab1.hf.intel.com +1 503-696-5219 UUNET : uunet!intelhf!langlab1!peter "I speak for myself, as best I can." UUCP : tektronix!psueea!foobar!langlab1.hf.intel.com!peter -------------------------------------------------------------------------------
duncant@mbunix.mitre.org (Thomson) (12/18/89)
BSO's C and Pascal compilers also support a keyword (I think it's "$INTERRUPT") which allows a routine to be identified as an interrupt handler. The compiler then generates the appropriate code, i.e. RTI rather than RTS. They also provide some kind of macro mechanism for initializing the interrupt vector table to connect to your routine. I forget exactly how this works. Duncan Thomson