[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT              Interrupt                           Flags: O D I T S Z A P C
                                                            0 0
INT interrupt-num

          Logic:    PUSHF                  ; Push flags onto stack
                    TF . 0                 ; Clear Trap Flag
                    IF . 0                 ; Disable Interrupts
                    CALL FAR (INT*4)       ; Call the interrupt handler

    INT pushes the flags register, clears the Trap and Interrupt-enable
    Flags, pushes CS and IP, then transfers control to the interrupt
    handler specified by the interrupt-num.  If the interrupt handler
    returns using an IRET instruction, the original flags are restored.

  --------------------------------------------------------------------------
   Operands                  Clocks   Transfers  Bytes   Example
                           byte(word)
   immed8 (type = 3)           52         5        1     INT 3
   immed8 (type <> 3)          51         5        2     INT 21
  --------------------------------------------------------------------------

       Notes:         The flags are stored in the same format as that used
                      by the PUSHF instruction.

                      The address of the interrupt vector is determined by
                      multiplying the interrupt-num by 4. The first word
                      at the resulting address is loaded into IP, and the
                      second word into CS.

                      All interrupt-nums except type 3 generate a two-byte
                      opcode; type 3 generates a one-byte instruction
                      called the Breakpoint interrupt.

See Also: IRET INTO PUSHF CALL PUSHF INT 03h Flags
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson