<P> One of the most useful DOS software interrupts was interrupt 0x21 . By calling it with different parameters in the registers (mostly ah and al) you could access various IO operations, string output and more . </P> <P> Most Unix systems and derivatives do not use software interrupts, with the exception of interrupt 0x80, used to make system calls . This is accomplished by entering a 32 - bit value corresponding to a kernel function into the EAX register of the processor and then executing INT 0x80 . </P> <P> The INT 3 instruction is defined for use by debuggers to temporarily replace an instruction in a running program in order to set a breakpoint . Other INT instructions are encoded using two bytes . This makes them unsuitable for use in patching instructions (which can be one byte long); see SIGTRAP . </P> <P> The opcode for INT 3 is 0xCC, as opposed to the opcode for INT immediate, which is 0xCD imm8 . Since the dedicated 0xCC opcode has some desired special properties for debugging, which are not shared by the normal two - byte opcode for an INT 3, assemblers do not normally generate the generic 0xCD 0x03 opcode from mnemonics . </P>

What is the purpose of int3 in the program