thumb|The high memory area is highlighted.

In DOS memory management, the high memory area (HMA) is the RAM area consisting of the first 65520 bytes above the one megabyte in an IBM AT or compatible computer.

Function

In real mode, the segmentation architecture of the Intel 8086 and subsequent processors identifies memory locations with a 16-bit segment and a 16-bit offset, which is resolved into a physical address via (segment) × 16 + (offset). Although intended to address only 1&nbsp;Megabyte (MB) (2<sup>20</sup> bytes) of memory, segment:offset addresses at <code>FFFF:0010</code> and beyond reference memory beyond 1&nbsp;MB (<code>FFFF0 + 0010 = 100000</code>). So, on an 80286 and subsequent processors, this mode can actually address the first 65520&nbsp;bytes of extended memory as part of the 64&nbsp;KB range starting 16&nbsp;bytes before the 1&nbsp;MB mark—<code>FFFF:0000 (0xFFFF0)</code> to <code>FFFF:FFFF (0x10FFEF)</code>. The Intel 8086 and 8088 processors, with only 1&nbsp;MB of memory and only 20&nbsp;address lines, wrapped around at the 20th bit, so that address <code>FFFF:0010</code> was equivalent to <code>0000:0000</code>.

References

Further reading