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)