Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!usc!ucsd!pacbell.com!att!emory!wa4mei!holos0!lbr From: lbr@holos0.uucp (Len Reed) Newsgroups: comp.os.msdos.programmer Subject: Re: stealing an interrupt Message-ID: <1990Dec19.174902.6122@holos0.uucp> Date: 19 Dec 90 17:49:02 GMT References: <90351.150210TOMIII@MTUS5.BITNET> <1990Dec18.163810.21268@jato.jpl.nasa.gov> Organization: Holos Software, Inc., Atlanta, GA Lines: 21 In article <1990Dec18.163810.21268@jato.jpl.nasa.gov> schmidt@mars.UUCP (Kevin Schmidt) writes: >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] Elsewhere I've noted that you should change the assumes. Overriding the segment is fine, too, if you wish. You don't need to tell the assembler that this is a far jump, though, since it knows this because old_int is doubleword. If you wish to make everything explicit, though, the above form is incorrect. Try jmp cs:dword ptr [old_int] ; far jump indirect to saved handler -- Len Reed Holos Software, Inc. Voice: (404) 496-1358 UUCP: ...!gatech!holos0!lbr