↓ Skip to main content

“Huge: Uses huge pointers everywhere. This overcomes the limitations of the large model by emitting code to compute the absolute addresses of every memory access and allows structs and arrays that span over 64 KB of memory.”

Julio Merinoblogsystem5.substack.com ↗

Turbo C++ made you pick from six memory models because the 8086 addressed 1MB through overlapping 64KB segments. Medium gave you far pointers for code and near pointers for data, though a program with that much code usually had that much data too. Every model was a compiler convention the OS knew nothing about. The question of why any of it matters on 64-bit machines gets punted to the next post, behind a subscribe button.