Microsoft KB Archive/45983

From BetaArchive Wiki

How to Use CALL INTERRUPT with QuickBASIC/BASIC PDS PSS ID Number: Q45983 Article last modified on 05-02-1991 PSS database name: B_QuickBas

4.00 4.00b 4.50

MS-DOS

Summary:

A file is available in the Software/Data Library that describes how to use the CALL INTERRUPT statement in Microsoft QuickBASIC versions 4.00, 4.00b, and 4.50 for MS-DOS; in Microsoft BASIC Compiler versions 6.00 and 6.00b for MS-DOS; and in Microsoft BASIC Professional Development System (PDS) versions 7.00 and 7.10 for MS-DOS.

This file can be found in the Software/Data Library by searching on the word QB4INT, the Q number of this article, or S12340. QB4INT was archived using the PKware file-compression utility.

A printed copy of this file may also be obtained as the application note, “How to Use CALL INTERRUPT in QuickBASIC, BASIC Compiler, and BASIC PDS,” from Microsoft Product Support Services.

More Information:

The CALL INTERRUPT and CALL INTERRUPTX statements documented in this application note are similar to the CALL INT86 and CALL INT86X statements supported in QuickBASIC 2.00, 2.01, and 3.00. The CALL INT86 and CALL INT86X statements also provide access to the BIOS and DOS INTERRUPTs but use an array interface instead of user-defined TYPEs. CALL INT86 and CALL INT86X are documented on pages 148-149 of the Microsoft QuickBASIC Compiler manual for versions 2.00, 2.01, and 3.00. Although there are differences, some of the information in this application note will be useful to those who use QuickBASIC 2.00, 2.01, and 3.00.

CALL INTERRUPT is a complicated statement that allows programmers to have access to low-level MS-DOS and BIOS information and control from QuickBASIC. Effective use of the complex CALL INTERRUPT interface requires an understanding of the QuickBASIC programming environment, the BASIC language, and lower-level DOS and BIOS functions. This application note explains many of these necessary features, including the following:

  1. Libraries and Quick libraries
  2. User-defined TYPEs
  3. INCLUDE files
  4. CALL INTERRUPT input and output
  5. Example of CALL INTERRUPT
  6. Differences between CALL INTERRUPT and CALL INTERRUPTX
  7. References for documentation on INTERRUPTs

The CALL INTERRUPT statement is designed to call only MS-DOS interrupts, and is not supported in MS OS/2 protected mode. Most of the functions provided by MS-DOS INTERRUPTs are available in MS OS/2 protected mode, but are accessed through API (application programming interface) calls. Most INTERRUPTs will work correctly in OS/2’s real mode (the DOS version 3.x box).

References for Documentation on INTERRUPTs

The following books are excellent resources for the different INTERRUPTs available from MS-DOS and the BIOS. Be aware that the code in these books is written in assembly language; however, the necessary input and output is given by register.

  1. Advanced MS-DOS Programming, Second Edition by Ray Duncan, published by Microsoft Press (1988)
  2. The New Peter Norton Programmer’s Guide to the IBM PC & PS/2 by Peter Norton, published by Microsoft Press (1988)

Copyright Microsoft Corporation 1991.