qb45advr.hlp (
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
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.