from
The Free On-line Dictionary of Computing (8 July 2008)
high memory area
<storage> (HMA) The first 64 {kilobytes} (minus 16 byte) of
the {extended memory} on an {IBM PC}. By a strange design
glitch the {Intel 80x86} processors can actually address 17*64
kbyte minus 16 byte of memory (from 0000:0000 to ffff:ffff) in
real mode. In the {Intel 8086} and {Intel 8088} processors,
unable to handle more than 1 {megabyte} of memory, addressing
wrapped around, that is, address ffff:0010 was equivalent to
0000:0000. For compatibility reasons, later processors still
wrapped around by default, but this feature could be switched
off. Special programs called {A20 handlers} can control the
addressing mode dynamically, thereby allowing programs to load
themselves into the 1024--1088 kbyte region and run in {real
mode}. From version 5.0 parts of {MS-DOS} can be loaded into
HMA as well freeing up to 46 kbytes of {conventional memory}.
(1995-01-10)