EMS or Expanded Memory Specification is an IBM PC memory paging scheme enabling access to memory other than conventional memory in real mode, through the use of an add-on peripheral holding the additional memory.
Expanded memory is provided through a page frame of at least 64 kilobytes in the reserved memory address region. Access to this memory is provided by an expanded memory manager (EMM) software. The EMM functions are accessible through interrupt 67H.
In 8086 or 8088 based systems this is the only way to use memory beyond conventional memory. In systems based on 80286 or later, XMS and HMA provide alternative methods.
EMS was developed jointly by Lotus, Intel, and Microsoft prior to 1988. Accordingly, this specification is sometimes referred to as LIM EMS.
EEMS, a competing expanded memory management standard, was developed by AST Research, Quadram and Ashton-Tate.
See also: upper memory block.
A complete discussion of EMS and programming examples can be found in ["PC System Programming for developers", 1989, ISBN 1-55755-035-2 (Book only) and ISBN 1-55755-036-0 (Book and diskette)].
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.