IBM PC software that runs in a 32-bit flat address space. The term 32-bit application came about because MS-DOS and Microsoft Windows were originally written for the {Intel 8088} and {80286} {microprocessors}. These are {16 bit} microprocessors with a segmented address space. Programs with more than 64 kilobytes of code and/or data therefore had to switch between segments quite frequently. As this operation is quite time consuming in comparison to other machine operations, the application' s performance may suffer. Furthermore, programming with segments is more involved than programming in a flat address space, giving rise to some complications in programming languages like "memory models" in C and C++. The shift from 16-bit software to 32-bit software on IBM PCclones became possible with the introduction of the {Intel 80386} microprocessor. This microprocessor and its successors support a segmented address space with 16-bit and 32 bit segments (more precisely: segments with 16- or 32-bit address offset) or a linear 32-bit address space. For compatibility reasons, however, much of the software is nevertheless written in 16-bit models. Operating systems like Microsoft Windows or OS/2 provide the possibility to run 16-bit (segmented) programs as well as 32-bit programs. The former possibility exists for {backward compatibility} and the latter is usually meant to be used for new software development. See also Win32s. (1995-12-11)