Software for MS-DOS or Microsoft Windows which originally ran on the 16-bit Intel 8088 and 80286 microprocessors. These used a segmented address space to extend the range of addresses from what is possible with just a 16-bit address. Programs with more than 64 kilobytes of code or data therefore had to waste time switching between segments. Furthermore, programming with segments is more involved than programming in a flat address space, giving rise to warts like memory models in C and C++. Compare 32-bit application.