home *** CD-ROM | disk | FTP | other *** search
- '*********************************************************
- '* Program name: INT19.BAS *
- '* Created : 05/05/90 *
- '* Revised : *
- '* Author : Bernd Westphal *
- '* Purpose : Execute INT 19h in an OS/2 *
- '* VDM environment. Only the current *
- '* should be terminated. *
- '* Compiler : IBM BASIC Compiler/2 V1.00 *
- '* Compile : BASCOM INT19 /O; *
- '* Link : LINK INT19; *
- '* Input param : none *
- '*********************************************************
-
- ' Variable definition for Interrupt call
- 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
- END TYPE
-
- DECLARE SUB Interrupt (intnum AS INTEGER, inreg AS RegType, outreg AS RegType)
-
- DIM InRegs AS RegType
- DIM OutRegs AS RegType
-
- ' *** Program code ***
- CLS
- COLOR 15
- PRINT "OS/2 Virtual DOS Machine + INT 19h"
- PRINT STRING$(80, 196);
- PRINT
- PRINT "Execution of INT 19h under DOS on a 8086 processor"
- PRINT "will reboot the system."
- PRINT
- PRINT "To prevent a system reboot running under OS/2 Version 2.0,"
- PRINT "the Virtual DOS Machine Manager terminates the current"
- PRINT "VDM if an INT 19h occurs."
- PRINT
- PRINT "Press Enter to execute the INT 19h interrupt"
- PRINT "or press Esc to terminate."
- PRINT
- PRINT "Your choice: ";
- GetChr: kb$ = INPUT$(1)
- SELECT CASE kb$
- CASE CHR$(27)
- CLS
- END
-
- CASE CHR$(13)
- PRINT "OK, restarting ..."
- ' CALL Interrupt(&H19, InRegs, OutRegs)
- CALL Int86(&H19, InRegs, OutRegs)
-
- CASE ELSE
- GOTO GetChr
- END SELECT
-
-