home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / open / qbinters.lzh / BREAK.BAS next >
BASIC Source File  |  1989-04-23  |  989b  |  39 lines

  1. 'Sun  Apr 23, 1989   11:13:32 pm
  2. '*****************************************************************************
  3. 'This routine reads and sets the BREAK setting, which enables Ctrl-Break exit
  4. 'from within a program. 0 = BREAK OFF  1 = BREAK ON
  5. '*****************************************************************************
  6.  
  7. TYPE RegType
  8.      ax    AS INTEGER
  9.      bx    AS INTEGER
  10.      cx    AS INTEGER
  11.      dx    AS INTEGER
  12.      bp    AS INTEGER
  13.      si    AS INTEGER
  14.      di    AS INTEGER
  15.      flags AS INTEGER
  16. END TYPE
  17.  
  18. DIM SHARED inregs AS RegType, outregs AS RegType
  19.  
  20. DECLARE FUNCTION break ()
  21. DECLARE SUB setbreak (value)
  22.  
  23. setbreak 0
  24. PRINT break
  25.  
  26. FUNCTION break
  27.      inregs.ax = &H3300
  28.      CALL interrupt(&H21, inregs, outregs)
  29.      dh = FIX(outregs.dx / 256)
  30.      dl = outregs.dx - (dh * 256)
  31.      break = dl
  32. END FUNCTION
  33.  
  34. SUB setbreak (value)
  35.      inregs.ax = &H3300 + &H1: inregs.dx = value
  36.      CALL interrupt(&H21, inregs, outregs)
  37. END SUB
  38.  
  39.