Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!uwm.edu!psuvax1!psuvm!cmh117 From: CMH117@PSUVM.BITNET (Charles Hannum) Newsgroups: alt.msdos.programmer Subject: Re: Int 3 Message-ID: <90017.100521CMH117@PSUVM.BITNET> Date: 17 Jan 90 15:05:21 GMT References: <10442.740.forumexp@mts.rpi.edu> Organization: Penn State University Lines: 29 In article <10442.740.forumexp@mts.rpi.edu>, Greg_d._Moore@mts.rpi.edu (Commander Krugannal) says: > > Looking over some old code fragments today, I cam across a call > to int 3. Neither I nor any of the other programmers in the office > could recall what it did. Does anyone know? Ah, how I long for easy questions like this! Int 3 is the "debugging" or "single step" interrupt. Debuggers (including the infamous DOS DEBUG program) insert Int 3's at "breakpoints". A breakpoint refers to either the end of the next instruction (as with single-stepping) or a user-defined breakpoint, as with the G(oto) command in DEBUG. When the CPU executes the Int 3, the debugger regains control. Of course, I haven't mentioned anything so far that couldn't be done with, say, Int 0xFF (Yeah, I like C.). What makes Int 3 special is that it can be coded in only ONE BYTE, whereas all other interrupts take two bytes. Personally, I find the NMI interrupt (Int 2) much more interesting ... Virtually, - Charles Martin Hannum II "Klein bottle for sale ... inquire within." (That's Charles to you!) "To life immortal!" cmh117@psuvm.{bitnet,psu.edu} "No noozzzz izzz netzzzsnoozzzzz..." c9h@psuecl.{bitnet,psu.edu} "Mem'ry, all alone in the moonlight ..."