home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / memory / emslib / emsavail.asm < prev    next >
Encoding:
Assembly Source File  |  1988-04-25  |  1.3 KB  |  43 lines

  1.  
  2. emm_int   equ      67h                           ; Extended Memory Manager
  3.  
  4.           if1
  5.           INCLUDE  model.mac
  6.           endif
  7.  
  8. header
  9.  
  10. begcodeseg
  11. procstart _emsavail
  12.           push     bp
  13.           mov      bp,sp
  14.           push     si
  15.           push     di
  16.           push     ds
  17.           mov      ah,35h                        ; DOS function 35h =
  18.           mov      al,emm_int                    ; get interrupt vector
  19.           int      21h                           ; into ES:BX.
  20.           mov      di,10                         ; ES:DI = addr of name fld.
  21.           mov      si,seg emm_name               ; let DS:DI = addr of
  22.           mov      ds,si                         ; guaranteed driver name
  23.           mov      si,offset emm_name            ; for EMM.
  24.           mov      cx,8                          ; length of name fld.
  25.           cld
  26.           repz     cmpsb                         ; compare strings
  27.           jnz      no_ems                        ; string didn't match
  28.           xor      ax,ax
  29.           jmp      fini
  30. no_ems:   mov      al,90h
  31. fini:     pop      ds
  32.           pop      di
  33.           pop      si
  34.           pop      bp
  35.           ret
  36. procend   _emsavail
  37.  
  38. emm_name  db       'EMMXXXX0',0                  ; device name for EMM
  39.  
  40. _TEXT     ENDS
  41.           END
  42.  
  43.