The 80x86 IBM PC and Compatible Computers- P10: Praised by experts for its clarity and topical breadth, this visually appealing, one-stop source on PCs uses an easy-to-understand, step-by-step approach to teaching the fundamentals of 80x86 assembly language programming and PC architecture. Offering users a fun, hands-on learning experience, it uses the Debug utility to show what action the instruction performs, then provides a sample program to show its application. | Functions associated with INT 00 to INT 04 As mentioned earlier interrupts INT 00 to INT 04 have predefined tasks functions and cannot be used in any other way. The function of each is described next. INT 00 divide error This interrupt belongs to the category of interrupts referred to as conditional or exception interrupts. Internally they are invoked by the microprocessor whenever there are conditions exceptions that the CPU is unable to handle. One such situation is an attempt to divide a number by zero. Since the result of dividing a number by zero is undefined and the CPU has no way of handling such a result it automatically invokes the divide error exception interrupt. In the 8088 86 microprocessor out of 256 interrupts Intel has set aside only INT 0 for the exception interrupt. There are many more exception-handling interrupts in 80286 80386 80486 and Pentium CPUs which are discussed in Section . INT 00 is invoked by the microprocessor whenever there is an attempt to divide a number by zero. In the IBM PC and compatibles the service subroutine for this interrupt is responsible for displaying the message DIVIDE ERROR on the screen if a program such as the following is executed MOV AL 92 AL 92 SUB CL CL CL 0 DIV CL 92 0 undefined result INT 0 is also invoked if the quotient is too large to fit into the assigned register when executing a DIV instruction. Look at the following case MOV AX 0FFFFH AX FFFFH MOV BL 2 BL 2 DIV BL 65535 2 32767 larger than 255 maximum capacity of AL Put INT 3 at the end of the above two programs in DEBUG and see the reaction of the PC. For further discussion of divide error interrupts due to an oversized quotient see Chapter 3. INT 01 single step In executing a sequence of instructions there is often a need to examine the contents of the CPU s registers and system memory. This is often done by executing the program one instruction at a time and then inspecting registers and memory. This is commonly referred to as single-stepping or