Content deleted Content added
Gankbank789 (talk | contribs) Added links #article-section-source-editor Tags: Mobile edit Mobile app edit iOS app edit |
→{{anchor|32-bit application}} Applications: foldoc attribution |
||
Line 25:
On the [[x86 architecture]], a 32-bit application normally means [[software]] that typically (not necessarily) uses the 32-bit linear [[address space]] (or [[flat memory model]]) possible with the [[80386]] and later chips. In this context, the term came about because [[DOS]], [[Microsoft Windows]] and [[OS/2]]<ref>''There were also variants of [[UNIX]] for the 80286''.</ref> were originally written for the [[Intel 8088|8088/8086]] or [[Intel 80286|80286]], [[16-bit computing|16-bit]] microprocessors with a [[memory segment|segment]]ed address space where programs had to switch between segments to reach more than 64 [[kilobyte]]s of [[object file|code]] or data. As this is quite time-consuming in comparison to other machine operations, the performance may suffer. Furthermore, [[computer programming|programming]] with segments tend to become complicated; special ''far'' and ''near'' keywords or ''[[C memory model|memory model]]s'' had to be used (with care), not only in [[assembly language]] but also in high level languages such as [[Pascal programming language|Pascal]], compiled [[BASIC]], [[Fortran]], [[C (programming language)|C]], etc.
The 80386 and its successors fully support the 16-bit segments of the 80286 but also segments for 32-bit address offsets (using the new 32-bit width of the main registers). If the [[base address]] of all 32-bit segments is set to 0, and segment registers are not used explicitly, the segmentation can be forgotten and the processor appears as having a simple linear 32-bit address space. [[Operating system]]s like 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 engineering|software development]].<ref>{{FOLDOC|32-bit+application}}</ref>
==Images==
|