From: ams AT ludd DOT luth DOT se (Martin Str|mberg) Newsgroups: comp.os.msdos.djgpp Subject: Re: My interrupt handler Date: 18 Apr 1999 18:16:36 GMT Organization: University of Lulea, Sweden Lines: 42 Message-ID: <7fd7i4$bns$1@news.luth.se> References: <7fcm2k$31g$2 AT news DOT luth DOT se> <20iuatubeq DOT fsf AT Sky DOT inp DOT nsk DOT su> NNTP-Posting-Host: queeg.ludd.luth.se X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Michael Bukin (M DOT A DOT Bukin AT inp DOT nsk DOT su) wrote: : ams AT ludd DOT luth DOT se (Martin Str|mberg) writes: : : > Now I'm back to the basics. Here follows a minimal interrupt handler : > that only chains to the previous one. After that one is installed I : > issue an interrupt just to make sure it's working. Alas it isn't; the : > program stops after inserting the interrupt handler. The last thing it : > prints is "Now.". : : > : > popl %ds : > ljmp %fs:_old_isr : : IMHO, it should be %cs:_old_isr. And you don't need to clobber %fs. Yes. I tried that first. However as the program reports "New: selector:offset = 319:5472." and "Old: selector:offset = 59:528." and it didn't work I just thought it best to really use that (old) selector. To make things clear if I replace "movw _selector_of_old_isr, %fs popl %ds ljmp %fs:_old_isr" with "popl %ds ljmp %cs:_old_isr" the prorgam crashes after saying "Generating an int.", and the usual WINDOZE window blurb that says "This program has performed an illegal operation..." appears. Clicking on "Details" reveals "Fault location: D303:DCA2 Interrupts in service: None". So any ideas? Rota, Symphony No. 1, MartinS