Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!pyramid!csg From: csg@pyramid.UUCP (Carl S. Gutekunst) Newsgroups: comp.arch Subject: Re: Interrupt vectors. Message-ID: <2878@pyramid.UUCP> Date: Fri, 5-Jun-87 03:42:58 EDT Article-I.D.: pyramid.2878 Posted: Fri Jun 5 03:42:58 1987 Date-Received: Tue, 9-Jun-87 02:35:11 EDT References: <7408@boring.cwi.nl> Reply-To: csg@pyramid.UUCP (Carl S. Gutekunst) Organization: Pyramid Technology Corp., Mountain View, CA Lines: 16 In article <7408@boring.cwi.nl> jack@cwi.nl (Jack Jansen) writes: > If you want to handle interrupts in a high-level >language, you want all interrupts to jump to the same routine, and >have the interrupt number handy somewhere. I can't for the life of me see why you'd want this. On the Pyramid, I hand the address of my interrupt handler to the device. When it needs service, it puts an interrupt request on the bus; the first available CPU responds by asking for an interrupt vector; the device then supplies the address of my interrupt handler. The CPU calls the handler, which then services whatever it was that the device was interrupting for. The handler is, of course, written in C, except for four asm() statements that set up the return-from-interrupt. What could easier than that?