home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1989 / 14 / ems.tst < prev    next >
Text File  |  1989-06-27  |  2KB  |  44 lines

  1.  
  2. emmname db      'EMMXXXX0',0    ; guaranteed device name for
  3.                                 ; Expanded Memory Manager
  4.  
  5.         .
  6.         .
  7.         .
  8.                                 ; attempt to open" EMM...
  9.         mov     dx,seg emmname  ; DS:DX = address of EMM
  10.         mov     ds,dx           ; logical device name
  11.         mov     dx,offset emmname
  12.         mov     ax,3d00h        ; fxn. 3DH = open
  13.         interrupt     21h             ; transfer to MS-DOS
  14.         jc      error           ; jump if open failed
  15.  
  16.                                 ; open succeeded, make sure
  17.                                 ; it was not a file...
  18.         mov     bx,ax           ; BX = handle from open
  19.         mov     ax,4400h        ; fxn. 44H subfun. 00H =
  20.                                 ; IOCTL get device info.
  21.         interrupt     21h             ; transfer to MS-DOS
  22.         jc      error           ; jump if IOCTL call failed
  23.         and     dx,80h          ; bit 7=1 if char. device
  24.         jz      error           ; jump if it was a file
  25.  
  26.                                 ; EMM is present, make sure
  27.                                 ; it is available...
  28.                                 ; (BX still contains handle)
  29.         mov     ax,4407h        ; fxn. 44H subf. 07H =
  30.                                 ; IOCTL get output status
  31.         interrupt     21h             ; transfer to MS-DOS
  32.         jc      error           ; jump if IOCTL call failed
  33.         or      al,al           ; test device status
  34.         jz      error           ; if AL=0 EMM not available
  35.  
  36.                                 ; now close handle ...
  37.                                 ; (BX still contains handle)
  38.         mov     ah,3eh          ; fxn. 3EH = close
  39.         interrupt     21h             ; transfer to MS-DOS
  40.         jc      error           ; jump if close failed
  41.         .
  42.         .
  43.         .
  44. «MDNM»