This well-written technical book describes the approaches necessary to integrate expanded memory (EMS) and extended memory (XMS) into C application programs on 80x86 DOS-based machines. Calling EMS and XMS functions from C is discussed. Heavily commented demonstration programs show how to use the appropriate functions. Finally, a Virtual Memory Manager (VMM) system is presented for use by the application programmer. The authors describes a “memory pool,” consisting of conventional memory, unallocated EMS, unallocated XMS, and unallocated hard disk space. Again, the full source code is provided. In addition, a memory management program is included on a diskette with the book.
Although the preface indicates that “you should have at least beginner’s knowledge of the C programming language,” I found the book required considerably more sophistication in C, operating system concepts, and memory management understanding. It is definitely not for the neophyte. In contrast, a sophisticated C programmer who needs to integrate high memory into application programs should find this book and the included memory management routines enlightening and useful.