Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!elroy.jpl.nasa.gov!jato!mars!schmidt From: schmidt@mars.jpl.nasa.gov (Kevin Schmidt) Newsgroups: comp.os.msdos.programmer Subject: Re: stealing an interrupt Message-ID: <1990Dec18.163810.21268@jato.jpl.nasa.gov> Date: 18 Dec 90 16:38:10 GMT References: <90351.150210TOMIII@MTUS5.BITNET> Sender: news@jato.jpl.nasa.gov Reply-To: schmidt@mars.UUCP (Kevin Schmidt) Organization: Jet Propulsion Laboratory, Pasadena, CA. Lines: 36 Nntp-Posting-Host: mars.jpl.nasa.gov In article <90351.150210TOMIII@MTUS5.BITNET> TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes: >Hi there. Would some kind soul please tell me why my machine hangs when >I run this TSR? What am I doing wrong? > >------ Code Deleted ------ > Code that was here got INT 9 vector and put it in old_int. It then set the INT 9 vector to point to new_int. > >new_int proc far > jmp short go > >old_int dd ? > >go: > jmp [old_int] ; Jump to old int routine >new_int endp > >----- Code Ends ------ > Everything looks fine except that the last jump (jmp [old_int]) has two problems. First the jump must include a segment override so that the data segment (ds) is not used in calculating the address of old_int. Second you must insure that it is a far jump. Thus the line should read: jmp far cs:[old_int] If you still can't get it to work, email me and I will send you a sample of how to attach to INT 9. _______________________________________________________________________________ _ ____ _ | | / / / _ \ / / | Kevin T. Schmidt | schmidt@mars.jpl.nasa.gov / / / /_/ / / / | Jet Propulsion Laboratory | schmidt@jems.jpl.nasa.gov _ / / / ____/ / / | 4800 Oak Grove Dr. | / /_/ / / / / /___ | M/S 301-355 | \____/ /_/ /______/ | Pasadena, CA 91109 |