home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / trl14db.zip / TRLSRC.EXE / MEM.ASM < prev    next >
Assembly Source File  |  1990-10-22  |  1KB  |  50 lines

  1. ; Function: MEM
  2. ;
  3. ; By Ralph Davis
  4. ; Modified by Rick Spence and Tom Rettig
  5. ;
  6. ; Placed in the public domain by Tom Rettig Associates, 10/22/1990.
  7. ;
  8.  
  9.           PUBLIC   MEM       
  10.  
  11.           INCLUDE  EXTENDA.MAC
  12.  
  13. ;***********************************************
  14. CODESEG   SEGMENT  BYTE PUBLIC 
  15.           ASSUME   CS:CODESEG
  16. ;-----------------------------------------------
  17. ;
  18. ; This function computes the amount of memory
  19. ; available.
  20. ;
  21. ;     Syntax:  m_memavail = MEM()
  22. ;     Return:  <expN> -- memory available 
  23. ;
  24. ;-------------
  25. MEM    PROC     FAR
  26.  
  27.           PUSH       AX
  28.           PUSH       BX
  29.  
  30.           MOV        BX,0FFFFH     ; attempt to allocate 1 megabyte
  31.           MOV        AH,48H        
  32.           INT        21H           ; returns paragraphs available in BX 
  33.           XOR        AX,AX         ; zero out AX
  34.           REPT       4
  35.           CLC                      ; multiply BX by 16
  36.           RCL        BX,1          ; high byte ends up in AX
  37.           RCL        AX,1
  38.           ENDM
  39.           RET_LONG AX,BX
  40.  
  41.           POP         BX
  42.           POP         AX
  43.           RET
  44. MEM       ENDP
  45. ;-----------------------------------------------
  46. CODESEG   ENDS
  47. ;***********************************************
  48.           END
  49.  
  50.