| .CALL INTERRUPT Statement Details. |
|
  QuickSCREEN       Details       Example       Contents       Index |
| ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ |
| CALL INTERRUPT Statement Details |
|
| Syntax |
|   CALL INTERRUPT  (interruptnum, inregs, outregs) |
|   CALL INTERRUPTX (interruptnum, inregs, outregs) |
|   |
|   Argument       Description |
|   interruptnum   The DOS interrupt number. It is an integer between |
|                  0 and 255. See your DOS documentation for informa- |
|                  tion about interrupts. |
|   inregs         The inregs variable contains the register values |
|                  used when the interrupt is performed. It is declared |
|                  as type RegType. The user-defined type RegType is |
|                  described below. |
|   outregs        The outregs variable contains the register values |
|                  after the interrupt is performed. It is declared |
|                  as type RegType. The user-defined type RegType is |
|                  described below. |
|   |
| The CALL INTERRUPT and CALL INTERRUPTX statements replace the INT86 |
| and INT86X routines used in earlier versions of BASIC. They provide |
| a more convenient way for BASIC programs to use DOS interrupts and |
| services. |
|   |
| CALL INTERRUPT and CALL INTERRUPTX are shipped in a Quick Library |
| (QB.QLB) and in a conventional library (QB.LIB) on the QuickBASIC |
| Utilities 1 distribution disk. There is also a header file (QB.BI) |
| on the disks with the necessary declarations for using these procedures. |
|   |
| To use CALL INTERRUPT or CALL INTERRUPTX when running a program |
| within the QuickBASIC environment, the Quick library QB.QLB must be |
| loaded with QuickBASIC. For information on how to do this, see the |
QB command line options table . |
|   |
| The register values before and after the interrupt are passed in |
| variables declared as type RegType. The following statement defines |
| the RegType user-defined type: |
|   |
|   TYPE RegType |
|      AX AS INTEGER |
|      BX AS INTEGER |
|      CX AS INTEGER |
|      DX AS INTEGER |
|      BP AS INTEGER |
|      SI AS INTEGER |
|   |
|   DI AS INTEGER |
|      FLAGS AS INTEGER |
|      DS AS INTEGER |
|      ES AS INTEGER |
|   END TYPE |
|   |
| Each element of the type corresponds to a CPU register. |
|   |
| INTERRUPTX uses the values in the DS and ES registers. To use the |
| current values of these registers, set the record elements to -1. |
|   |