MEMORY()
 Determina la cantidad de memoria de asignación libre disponible
------------------------------------------------------------------------------
 Sintaxis

     MEMORY(<nExp>) --> nKbytes

 Argumentos

     <nExp> es un valor numérico que determina el significado del valor
     que devuelve MEMORY(), como se indica a continuación:

     Valores del Argumento de MEMORY()
     ------------------------------------------------------------------------
     Valor             Significado
     ------------------------------------------------------------------------
     0                 Espacio total estimado disponible para
                       valores de tipo carácter
     1                 Bloque contiguo más grande disponible
                       para valores de tipo carácter
     2                 Area disponible para mandatos RUN
     ------------------------------------------------------------------------

 Devuelve

     MEMORY() devuelve un valor numérico entero que representa la cantidad
     de memoria disponible, en incrementos de un kilobyte.

 Descripción

     MEMORY() es una función de entorno que informa de los distintos estados
     de la memoria libre combinada. (Esta zona es el área dinámica de la
     memoria que almacena cadenas de caracteres y ejecuta mandatos RUN.)

 Ejemplos

      Este ejemplo utiliza MEMORY() antes de un mandato RUN para
        determinar si se dispone de suficiente memoria para ejecutar el
        programa externo:

        #define MEM_CHAR        0
        #define MEM_BLOCK       1
        #define MEM_RUN         2
        //
        IF MEMORY(MEM_RUN) >= 128
           RUN MIPROG
        ELSE
           ? "Memoria insuficiente para ejecutar el programa"
           BREAK
        ENDIF

 Ficheros   La biblioteca asociada es CLIPPER.LIB.